我有一个使用Prism的WPF MVVM项目,我有一个绑定到视图模型上的Datetime属性的Datepicker。我想使用SelectedDateChanged事件来获取更改后的值(没有代码隐藏)。我知道我在Datepicker绑定的属性中得到了值更改,但我想尝试另一种方式。到目前为止,我已经在xaml中组装了datepicker
<DatePicker Name="dpName" Grid.Row="1" Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" Width="200" SelectedDate="{Binding Class.Date}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectedDateChanged">
<i:InvokeCommandAction Command="{Binding ath=TestMeCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</DatePicker>TestMeCommand的C#代码
public DelegateCommand TestMeCommand { get; set; }在ctor中:
TestDateCommand = new DelegateCommand<object>(TestPateparam);函数:
private void TestDate()
{
int test = 0;
}我的问题是如何将选定的日期作为参数传递给函数。到目前为止,我已经尝试将InvokeCommandAction替换为
<i:InvokeCommandAction Command="{Binding Path=TestDateCommand}" CommandParameter="Binding ElementName=DPLoanDetailsAsOfDate, Path=SelectedDate}" />和c#函数
public DelegateCommand<object> TestDateCommand { get; set; }
TestDateCommand = new DelegateCommand<object>(TestPateparam);
private void TestPateparam(object dt)
{
int test = 0;
}发布于 2016-01-30 04:11:49
如果你使用的是Prism 6.1.1-pre2,你可以很容易地用Prism的InvokeCommandAction做到这一点:
<DatePicker Grid.Row="1" Margin="5" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectedDateChanged">
<prism:InvokeCommandAction Command="{Binding SelectedCommand}" TriggerParameterPath="AddedItems" />
</i:EventTrigger>
</i:Interaction.Triggers>
</DatePicker>https://stackoverflow.com/questions/35088379
复制相似问题