WPF Close Window from ViewModel
声明一个 ICloseWindow 接口
public interface ICloseWindow
{
Action Close { get; set; }
}
在 MainWindowViewModel 继承实现 ICloseWindow
public class MainWindowViewModel : ViewModelBase, ICloseWindow
{
public Action Close { get; set; }
public DelegateCommand LogOutCommand { get; }
public void LogOut()
{
Close?.Invoke();
}
}
在 MainWindow Load事件绑定
public partial class MainWindowView : Window
{
public MainWindowView()
{
InitializeComponent();
Loaded += BindingEvent;
}
public void BindingEvent(object sender,RoutedEventArgs e)
{
if (DataContext is ICloseWindow vm)
{
vm.Close += () =>
{
this.Hide();
};
}
}
}
技术交流Q群: 1012481075 群内有各种流行书籍资料
原文链接:
原文链接: