1. 思想
通过ViewModel中的属性绑定View中IsEnabled属性,然后在IsEnabledChanged事件中操作View关闭。
2. 实现
(1)在View的XAML中利用窗口的IsEnabled属性,绑定ViewModel中的一个属性。
Height="450" Width="800" ResizeMode="NoResize"
IsEnabled="{Binding IsViewOpen}">
(2)在View中.cs中对窗口添加IsEnabledChanged事件。
this.IsEnabledChanged += delegate
{
if (!IsEnabled)
this.Close();
};
这样便可以通过ViewModel中的IsViewOpen属性,去控制View窗口的关闭了。