這裏我已經閱讀了許多有關WPF MVVM Light的問題和答案,但答案顯示的主要只有一面(XAML代碼見下文),並且沒有ViewModel代碼在所有。WPF MVVM-Light如何在ViewModel中使用傳遞的DragEventArgs
<i:Interaction.Triggers>
<i:EventTrigger EventName="Drop">
<cmd:EventToCommand Command="{Binding Mode=OneWay, Path=DropCommand}"
PassEventArgsToCommand="True" />
</i:EventTrigger>
我在XAML中網格控制使用,我想從Windows資源管理器應用將&文件拖放到我的(WPF)應用程序。我嚴格使用MVVM模式(避免完全隱藏代碼)。 JFYI,在代碼隱藏中,通常Drop事件的事件處理函數有兩個參數:對象類型的sender和DragEventArgs類型的e。我只需要EventArgs。 我的問題不是關於如何將XAML中的DragEventArgs直接傳遞給ViewModel,而是如何獲取和使用ViewModel中的DragEventArgs(c#代碼)。在視圖模型我寫的命令是這樣的:
public RelayCommand<DragEventArgs> DropCommand
{
get
{
return _dropCommand ?? (_dropCommand = new RelayCommand<DragEventArgs>(Drop);
}
}
private void Drop()
{
// do something here
}
我想我想念我的DropCommand東西,這樣我就可以使用E(類型DragEventArgs的)。 預先感謝您。