У меня есть некоторое окно, вьюМодель к ней и контрол.
Окно:
<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()) не вызывается, даже если убрать условные операторы. И соответственно при отладке почему-то код не проходил через сеттер.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости