Windows runtime 传递了错误的参数
我有一个列表控件和一个视图模型。如果触发了点击事件,我会尝试将selectedItems传递给视图模型 我可以编译以下代码: 视图: 我做错了什么Windows runtime 传递了错误的参数,windows-runtime,windows-phone-8.1,winrt-xaml,Windows Runtime,Windows Phone 8.1,Winrt Xaml,我有一个列表控件和一个视图模型。如果触发了点击事件,我会尝试将selectedItems传递给视图模型 我可以编译以下代码: 视图: 我做错了什么 谢谢你的帮助 您可以编写一个转换器并对SelectionChanged事件做出反应(或者在此时点击,但由于SelectedItems是您想要的,您可能需要考虑一下) 所以你可以这样设置: <interactivity:Interaction.Behaviors> <core:EventTriggerBehavior Even
谢谢你的帮助 您可以编写一个转换器并对SelectionChanged事件做出反应(或者在此时点击,但由于SelectedItems是您想要的,您可能需要考虑一下) 所以你可以这样设置:
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="SelectionChanged">
<core:InvokeCommandAction Command="{Binding SelectionChangedCommand}"
InputConverterParameter="{Binding ElementName=MedicineList}"
InputConverter="{StaticResource SelectionChangedConverter}"/>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
当然,转换器需要定义为某个地方的静态资源:
<local:SelectionChangedConverter x:Key="SelectionChangedConverter" />
我刚刚注意到,这会给我一个com对象,不会出现在我的命令中。如果我对它进行解析,它将为null。
System.InvalidCastException: Unable to cast object of type 'Windows.UI.Xaml.Input.TappedRoutedEventArgs' to type 'System.Collections.IList'
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="SelectionChanged">
<core:InvokeCommandAction Command="{Binding SelectionChangedCommand}"
InputConverterParameter="{Binding ElementName=MedicineList}"
InputConverter="{StaticResource SelectionChangedConverter}"/>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
public class SelectionChangedConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var listView = parameter as ListView;
return listView.SelectedItems;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
<local:SelectionChangedConverter x:Key="SelectionChangedConverter" />