Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.04.2013, 21:57   #1
ImmortalAlexSan
Профессионал
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,352
Репутация: 352

icq: 430070679
По умолчанию WPF Custom Control Library или как написать свой контрол с нуля

Здравствуйте! Передо мной стоит следующая задача: написать TreeListView Control, который будет использоваться в приложении по работе с базой данных. Никаких коммерческих целей я не преследую, чисто альтруистическая основа для облегчения труда на работе. Перерыв весь рускоязычный и англоязычный интернет, я не нашел ни одного внятного объяснения. Пожалуйста, сразу попрошу не предлагать codeproject. Платные варианты исходников тоже отменяются, так как стоят бешеных денег. Мне нужна информация, и может быть вы могли бы помочь.
Я пришел к выводу, что TreeListView - собственное название класса, объединяющего TreeView and ListView Controls, я должен наследовать от ItemsControl. В свою очередь TreeListItem я должен наследовать от Control. Почему именно так. Для меня критична произодительность и ограничены ресурсы. Я не хочу тащить за новым классом кучу ненужных для работы библиотек. Другими стъловами, мне нужно написать контрол с нуля с минимальным функционалом. Подскажите пожалуйста узконаправленную литературу по написанию контролов или что-нибудь в этом духе. А может быть и советами поможете. Буду признателен.
__________________
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума   Ответить с цитированием
Старый 07.04.2013, 23:03   #2
eval
паяю
 
Регистрация: 29.08.2012
Сообщений: 4,030
Репутация: 422
По умолчанию

в впф контролы пишутся в редких случаях, как правило хватает за глаза того что есть
eval вне форума   Ответить с цитированием
Старый 07.04.2013, 23:35   #3
ImmortalAlexSan
Профессионал
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,352
Репутация: 352

icq: 430070679
По умолчанию

eval, это самый простой выход из всех ситуаций Давайте придумаем то, что посложнее. Вот, что у меня получилось:
Код:

    public class TreeListViewItem : Control
    {
        #region Content
        public static readonly DependencyProperty ContentProperty = 
            DependencyProperty.Register("Content", typeof(object), typeof(TreeListViewItem),
            new FrameworkPropertyMetadata(null, 
                FrameworkPropertyMetadataOptions.AffectsRender |
                FrameworkPropertyMetadataOptions.AffectsParentMeasure));
        [Bindable(true)]
        public object Content
        {
            get { return (object)GetValue(ContentProperty); }
            set { SetValue(ContentProperty, value); }
        }
        #endregion

        static TreeListViewItem()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(TreeListViewItem), new FrameworkPropertyMetadata(typeof(TreeListViewItem)));
        }

        public TreeListViewItem()
        {
        }


    }

__________________
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума   Ответить с цитированием
Старый 08.04.2013, 00:13   #4
eval
паяю
 
Регистрация: 29.08.2012
Сообщений: 4,030
Репутация: 422
По умолчанию

оно уже есть
http://msdn.microsoft.com/en-us/libr...ntcontrol.aspx
eval вне форума   Ответить с цитированием
Старый 08.04.2013, 09:06   #5
ImmortalAlexSan
Профессионал
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,352
Репутация: 352

icq: 430070679
По умолчанию

Цитата:
оно уже есть
Я вкурсе. Я недопечатал вчера, сайт не открывало вчера. В любом случае, я пришел к выводу, что очередной раз зря обратился за помощью, и как всегда за несколько часов, как найду ответ сам. Решил использовать ILSpy.exe для просмотра библиотек WPF. Разобраться в устройстве уже написанных контролов, а потом писать свой.
А вам, как погляжу, заняться не чем, кроме как постить бессмысленные посты.
Всего доброго.
__________________
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума   Ответить с цитированием
Старый 08.04.2013, 09:28   #6
eval
паяю
 
Регистрация: 29.08.2012
Сообщений: 4,030
Репутация: 422
По умолчанию

а вам заняться нечем кроме как писать бессмысленные контролы.
eval вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WPF пользовательский контрол D][mon WPF, UWP, WinRT, XAML 0 22.02.2013 20:59
как написать открытый торрент трекер с нуля на php roulis2844sasha PHP 0 25.03.2012 12:59
Как свой IP поменять или скрыть myshonok Свободное общение 8 11.12.2009 22:54
Как написать функцию с нуля? VintProg Assembler 7 04.08.2009 08:09
обновление в блоге - Близкие контакты третьего вида с Visual Foxpro (или как написать свой провайдер для Pblog Обсуждение статей 0 24.04.2009 20:50


03:13.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru