我已经创建了我的WPF usercontrol上的依赖项属性,这将是我的父级用户控件中的数据绑定。我在视图模型上实现了INotifyPropertyChanged
,以在值更改时发送通知。如何更新WPF用户控件中的依赖项属性?
用户控件代码:
public bool IsVisibile {
get { return (bool) GetValue(IsVisibileProperty); }
set { SetValue(IsVisibileProperty, value); }}
public static readonly DependencyProperty IsVisibileProperty =
DependencyProperty.Register("IsVisibile", typeof(bool), typeof(UserControl),
new PropertyMetadata(default(bool), VisiblePropertyChangedCallback));
private static void VisiblePropertyChangedCallback(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
if (dependencyPropertyChangedEventArgs.NewValue != null)
{
((UserControl) dependencyObject).IsVisibile = (bool) dependencyPropertyChangedEventArgs.NewValue;
}
}
家长用户控制使用:
<uc:UserControl IsVisible="{Binding IsViewModelVisible, UpdateSourceTrigger=PropertyChanged}"
如果“IsViewModelVisible”的变化,则属性更改事件处理函数不是叫和财产不被刷新。
有什么想法?
当然劳尔也是对的。 – Clemens 2013-03-06 18:56:31
感谢Clements的回应。当VM属性发出更改通知时,依赖项属性是否会自动更新? – Ash 2013-03-07 09:38:40
是的,这就是绑定的作用。 – Clemens 2013-03-07 10:07:25