我有一個WPF窗口的datacontext被實例化全光照XAML關閉窗口XAML從視圖模型
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ViewModels="clr-namespace:Contratos.ViewModels" x:Class="Contratos.Views.TipoAsociadoAcopio"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF45"
xmlns:l="clr-namespace:Recursos;assembly=Recursos"
xmlns:controls="clr-namespace:Recursos.Controls;assembly=Recursos"
xmlns:resources="clr-namespace:ModelSeguridad.Resources;assembly=ModelSeguridad"
Title="{x:Static resources:Labels.CONTRATO_TipoContratoAcopio}" Height="Auto" Width="Auto">
<Window.Resources>
<CollectionViewSource x:Key="ListaItems" Source="{Binding ListaItems}"/>
<ViewModels:TipoAsociadoVM x:Key="ViewDataContext"/>
</Window.Resources>
<Grid>
<StackPanel>
<Button Command="{Binding _ICommandExit}" CommandParameter="{W H A T H E R E}" />
</StackPanel>
</Grid>
我需要的時候上的退出按鈕,用戶點擊,我的問題是如何關閉這個窗口如果使用XAML實例化,我可以將窗口引用發送給viewmodel嗎?
我想維護MVVM模式,那是因爲我沒有任何代碼在mi codebehind上。
就我個人而言,我認爲在後面的代碼中放置按鈕點擊處理程序是完全可以接受的,而不是綁定到命令。關閉窗口純粹是一個UI任務,所以你仍然保持視圖邏輯解耦。 – zmb
@zmb Tks,是的,你有理由。但是我喜歡爲我的所有Windows自動執行此任務,並且在用戶關閉窗口時必須記錄一些日誌。 –
這不是MVVM。只需關閉用戶界面中的窗口即可。 – Will