Почему не обрабатывается сеттер?

165
25 февраля 2019, 23:40

У меня есть некоторое окно, вьюМодель к ней и контрол.
Окно:

<myControls:HamburgerMenu x:Name="p" IsOpen="{Binding IsOpen, Mode=TwoWay}" Panel.ZIndex="500"/>

Когда я во вьюМодели окна изменяю IsOpen, то свойство IsOpen контрола меняется, но не обрабатывается сеттер в code-behind'е контрола.
Код свойства IsOpen в контроле:

        public partial class HamburgerMenu : UserControl
{
    public HamburgerMenu()
    {
        InitializeComponent();
    }
    public bool IsOpen
    {
        get { return (bool)GetValue(IsOpenProperty); }
        set
        {
            if(value != IsOpen)
                if (!IsOpen)
                    OnOpened();
                else
                    OnClosed();
            SetValue(IsOpenProperty, value);                
        }
    }
    public static readonly DependencyProperty IsOpenProperty =
        DependencyProperty.Register("IsOpen", typeof(bool), typeof(HamburgerMenu), new PropertyMetadata(false));
}

Т.е. свойство IsOpen контрола меняется, но ни один из методов(OnOpened() и OnClosed()) не вызывается, даже если убрать условные операторы. И соответственно при отладке почему-то код не проходил через сеттер.

READ ALSO
Растянуть TextBlock на всю ячейку grid WPF

Растянуть TextBlock на всю ячейку grid WPF

У меня есть ListBox, в котором каждый Item представляет собой Grid из трех колонокПервая и последняя колонка имеют ширину 50, а в средней лежит TextBlock,...

169
Правильно ли выполняется проверка на то что флаги совпадают?

Правильно ли выполняется проверка на то что флаги совпадают?

Имеется E'нумератор помеченный аттрибутом [Flags]:

160
Сборка проекта для .NET и .NET Core

Сборка проекта для .NET и .NET Core

При написании библиотеки, код которой валиден как дляNET Framework, так и для

170
Внедрение через конструктор

Внедрение через конструктор

Изучаю внедрение зависимостей, появился вопросМожет ли быть такое что два класса зависят друг от друга как в примере ниже

157