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 =>“我的方法”)。不过,我不喜欢这种语法,我发现它隐含。 –