Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Не отслеживается изменение зависимого свойства

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

1datr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В проге есть 2 контрола. У них есть одинаковое зависимого свойство кастомного класса, наследующего интерфейс INotifyPropertyChanged. В программе контрол A слушает данное свойство контрола B. Само значение этого свойства меняется (все его поля. проверил), но сам момент изменения его не удается уловить обычным PropertyChangedCallback, который задается при DependencyProperty.Register. Значение меняется, а к этому колбэку не переходит управление.
Код класса этого свойства:

Код:
 
public class StackerWorkData : INotifyPropertyChanged  
        {
            private Int32 _X;
            public Int32 X
            {
                get
                {
                    return _X;
                }
                set
                {
                    _X = value;
                    OnPropertyChanged("X");
                }
            }
 
            private Int32 _Y;
            public Int32 Y
            {
                get
                {
                    return _Y;
                }
                set
                {
                    _Y = value;
                    OnPropertyChanged("Y");
                }
            }
 
 
            private Int32 _Z;
            public Int32 Z
            {
                get
                {
                    return _Z;
                }
                set
                {
                    _Z = value;
                    OnPropertyChanged("Z");
                }
            }
 
            private Int32 _cell;
            public Int32 Cell
            {
                get
                {
                    return _cell;
                }
                set
                {
                    _cell = value;
                    OnPropertyChanged("Cell");
                }
            }
 
            private StackerCommand _cmd;
            public StackerCommand cmd
            {
                get
                {
                    return _cmd;
                }
                set
                {
                    _cmd = value;
                    OnPropertyChanged("cmd");
                }
            }
 
 
            /// <summary>
            /// Occurs when a property value changes.
            /// </summary>
            public event PropertyChangedEventHandler PropertyChanged;
 
            /// <summary>
            /// Called when [property changed].
            /// </summary>
            /// <param name="name">The name.</param>
            private void OnPropertyChanged(string name)
            {
                if (PropertyChanged != null)//BiopsyCore
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(name));
                }
            }
 
 
        }
 

 
StackerControl слушает свойство WorkParams контрола StackerManBNR.  

Код:
 
<my:StackerControl  ... WorkParams="{Binding ElementName=stacker1_man, Path=WorkParams}"></my:StackerControl>
 

Свойство WorkParams изменяется, но момент изменения этого свойства, в частности когда меняются X,Y,Z не улавливается программой.

Всего записей: 24 | Зарегистр. 08-02-2009 | Отправлено: 22:37 16-10-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Не отслеживается изменение зависимого свойства


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru