WPF新手在这里。假设我的ViewModel类的事件SomethingHappened
定义为:
Public Event SomethingHappened(message As String)
我的View中有一个本地资源定义为:
<local:MsgWindow x:Key="MsgWindow" Visibility="Hidden" >
ViewModel被指定为View的DataContext
。如何在Visibility
上将我的MsgWindow的Visible
更改为SomethingHappended
?
答案 0 :(得分:1)
我将在您的视图模型中定义bool属性,创建BoolToVisibilityConverter(实现IValueConverter),并使用转换器将XAML中的Visibility属性绑定到模型的属性。而不是引发事件,设置你的属性(确保你的属性从INotifyPropertyChanged引发PropertyChanged或者是依赖属性)。
答案 1 :(得分:0)
在资源中,声明:
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
然后在你的视图模型中声明:
public bool Visible { get; set; }
然后,使用转换器将组件绑定到此属性
<local:MsgWindow x:Key="MsgWindow" Visibility="{Binding Visible, Converter={StaticResource BooleanToVisibilityConverter}}" >