0
我試圖展開mvvm模式。當使用galasoft EventToCommand我得到那麼以下錯誤: 的最好重載方法匹配「GalaSoft.MvvmLight.Command.RelayCommand.RelayCommand(System.Action)」有一些無效的參數...MVVM-light和Windows Phone工具包 - RelayCommand <DateTimeValueChangedEventArgs>失敗
從我的XAML代碼:
<toolkit:DatePicker Header="Select Date"
ValueStringFormat="{}{0:D}"
HorizontalAlignment="Left" Margin="0,126,0,0"
Name="datePicker1"
VerticalAlignment="Top" FontFamily="Verdana"
FontSize="22" Width="450">
<i:Interaction.Triggers>
<i:EventTrigger EventName="ValueChanged">
<cmd:EventToCommand PassEventArgsToCommand="True"
Command="{Binding DateSelection}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</toolkit:DatePicker>
在模型視圖:
public MainViewModel()
{
DateSelection = new RelayCommand<DateTimeValueChangedEventArgs>(time_Call);
}
public RelayCommand<DateTimeValueChangedEventArgs> DateSelection
{
get;
set;
}
void time_Call(object sender, DateTimeValueChangedEventArgs e)
{
}
我一片空白!
我可以正確設置了綁定。但是,當使用工具包時,我從視圖中耦合出來 - 所以使用「this」。獲得訪問形式的視圖不會工作。經過一段時間的調試後,我發現我錯過了什麼。我需要調用time_Call方法並使用委託。解決方案是使用Lambda生成委託:(e =>「我的方法」)。不過,我不喜歡這種語法,我發現它隱含。 –