Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
2 / 1 / 1
Регистрация: 27.10.2015
Сообщений: 35
1

Пример реализации DependencyProperty, INotifyPropertyChanged

27.08.2018, 10:53. Показов 3775. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем суть проблемы такая.
Решил запилить програмку в WPF но DepencyProperty и INotifify уж очень темный лес для меня...
Так то я раньше делал программы на wpf (раньше делал через Itemsource и простой Binding), но сейчас за 9 месяцев в армии отупел =)
Сколько ни читал статей, так и не смог вникнуть как делать эти 2 способа
Худо бедно сделал Depency в новом классе, но неужели каждый раз для создания свойства делать классы?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    public class GG : FrameworkElement
    {
        public static DependencyProperty TextProperty;
        public string Text
        {
            get { return (string)GetValue(TextProperty); }
            set { SetValue(TextProperty, value); }
        }
        static GG()
        {
            TextProperty = DependencyProperty.Register(
                        "Text",
                        typeof(string),
                        typeof(TextBlock),
                        new FrameworkPropertyMetadata(
                            string.Empty,
                            FrameworkPropertyMetadataOptions.AffectsMeasure |
                            FrameworkPropertyMetadataOptions.AffectsRender,
                            new PropertyChangedCallback(OnTextChanged),
                            new CoerceValueCallback(CoerceText)));
        }
        private static object CoerceText(DependencyObject d, object value)
        {
            return value;//.................................
        }
        // метод, вызываемый при изменении значения свойства 
        private static void OnTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            //...............................
        }
    }
И как это теперь связать с элементом интерфейса?)

Если у кого есть пример с правильной реализацией Depency и INotify, заранее буду благодарен.
Просто когда сам тыкаешь готовый примерчик понимание быстрее идет=)
(хотелось бы до дембеля успеть написать програмку, ну посоветуйте другое решение для создания красивых но менее нагруженных интерфейсов, я думаю С++ и фреймворк Oxygen)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.08.2018, 10:53
Ответы с готовыми решениями:

Прошу пример MVVM реализации
привет во всех примерах что изучал View ViewModel Code - datacontex=new ViewModel - и не...

Пример реализации WPF+MVVM приложения
Тема из цикла https://www.cyberforum.ru/wpf-silverlight/thread2384523.html Пример решения ТЗ по...

SpongeBob project. Простой пример реализации сервиса
Есть такой SpongeBob. Мне его посоветовал один человек для самообучения. В общем, я всё поставил....

Inotifypropertychanged для реализации паттерна "наблюдатель"
public class Character : { private int _c_money; public int...

5
Эксперт .NET
1839 / 1347 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
27.08.2018, 15:36 2
Лучший ответ Сообщение было отмечено Shin0_kaze как решение

Решение

Цитата Сообщение от Shin0_kaze Посмотреть сообщение
Сколько ни читал статей, так и не смог вникнуть как делать эти 2 способа
DependencyProperty - это свойства для контролов, которые видит пользователь на экране
INotifyPropertyChanged - это интерфейс для оповещения об изменении значения свойств.

Лучше всего, наверное, вам будет разобраться на наглядном примере.
Посмотрите на этот пример кода. Данный код описывает простое приложение с паттерном MVVM. В нём есть отображение значений на экране, добавление новый элементов по нажатию на кнопку. Т.е. самые простые операции, которым вам для начала должно хватить.
Посмотрите на код в папке ViewModel, в нём используется INotifyPropertyChanged.

А DependencyProperty вам будет лишним. Понимания INotifyPropertyChanged будет достаточно для простого приложения.
2
2 / 1 / 1
Регистрация: 27.10.2015
Сообщений: 35
30.08.2018, 06:17  [ТС] 3
Да приложение с кругами помогло)
п.с. однако приложение с семьями, где там создается интерфейс текстовых полей? (не нашел почему то)
0
Эксперт .NET
1839 / 1347 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
30.08.2018, 16:07 4
Цитата Сообщение от Shin0_kaze Посмотреть сообщение
где там создается интерфейс текстовых полей?
PersonView.xaml
1
2 / 1 / 1
Регистрация: 27.10.2015
Сообщений: 35
31.08.2018, 21:26  [ТС] 5
Ну и немного оффтопный вопрос:
Допустим я хочу сделать форму.
На ней слева меню которое всегда есть (это простое окно и несколько элементов)
Есть контейнер для формы/страницы автоматически регулирующийся по высоте и ширине
(пока только нашел способ контейнера через фрейм, какими еще способами можно показать группу элементов как часть другой формы)
Таких контейнера 2: один как таблица в экселе, второй как меню с функционалом, 2 можно будет перемещать и цеплять к форме
(Собственно вопрос в том,что есть множество способов как это сделать, написать код за меня не прошу , хотелось бы просто узнать в сторону какой связки копать: ContentControl, Frame, Grid, а также какой файл xaml лучше ContentControl как в примере, Window, или Page)
0
Эксперт .NET
1839 / 1347 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
01.09.2018, 00:07 6
Цитата Сообщение от Shin0_kaze Посмотреть сообщение
Есть контейнер для формы/страницы автоматически регулирующийся по высоте и ширине
(пока только нашел способ контейнера через фрейм, какими еще способами можно показать группу элементов как часть другой формы)
Пример WPF приложения с навигацией
2
01.09.2018, 00:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2018, 00:07
Помогаю со студенческими работами здесь

Пример реализации бд
нужно пример реализации просмотра видео чтоб было номер серии и колво просмотров учитывая что...

Пример реализации
Подскажите пожайлуста где можно взять примеры кода для перечисленных ниже задач, отдельно или...

Пример реализации диалога
Приведите простейший пример реализации диалога в С++ при вводе значений переменных. Какова роль...

Пример реализации отображения в таблицу из БД
Новичок. Может кто привести пример решения простой задачки? 1) есть обновляющаяся таблица в БД...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru