Wpf 事件绑定到XAML中的ViewModel事件
这里是WPF新手。假设我的ViewModel类有一个事件定义为:Wpf 事件绑定到XAML中的ViewModel事件,wpf,vb.net,xaml,events,binding,Wpf,Vb.net,Xaml,Events,Binding,这里是WPF新手。假设我的ViewModel类有一个事件定义为: Public Event SomethingHappened(message As String) 在我看来,本地资源定义为: <local:MsgWindow x:Key="MsgWindow" Visibility="Hidden" > ViewModel被指定为视图的DataContext。如何在发生somethinghapped时将MsgWindow的可见性更改为可见的?我将在视图模型中定义一个bool
Public Event SomethingHappened(message As String)
在我看来,本地资源定义为:
<local:MsgWindow x:Key="MsgWindow" Visibility="Hidden" >
ViewModel被指定为视图的
DataContext
。如何在发生somethinghapped
时将MsgWindow的可见性更改为可见的?我将在视图模型中定义一个bool属性,创建booltVisibilityConverter(实现IValueConverter),并使用转换器将XAML中的可见性属性绑定到模型的属性。设置您的属性(确保您的属性从INotifyPropertyChanged引发PropertyChanged,或者是依赖项属性),而不是引发事件。在参考资料中声明:
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
然后,使用转换器将组件绑定到此属性
<local:MsgWindow x:Key="MsgWindow" Visibility="{Binding Visible, Converter={StaticResource BooleanToVisibilityConverter}}" >
是的,没错,但我更感兴趣的是找到事件绑定的XAML方式,而不是解决手头问题的特定实例;你可以试试事件触发器
<local:MsgWindow x:Key="MsgWindow" Visibility="{Binding Visible, Converter={StaticResource BooleanToVisibilityConverter}}" >