What I m trying to accomplish
页: 1 结 论 我也需要通过正常的旧参数。
它可能只是一个yn子问题,我也认为是正确的。 我希望这样做。
My current code
确实很简单。 指挥在<条码>中进行。 View。 基本上,我有一个“Video”类清单(我个人的一个类别)显示,每个类别有一个检查箱。 当用户在检查箱上点击时,我走到一种方法。 我需要通过两个论点:
(1) the CheckChangedEventArg
, which I pass, and
(2) the object that we re looking at, "Video", which I can t figure out how to pass along with the CheckChangedEventArg
.
The XAML:
<CollectionView ItemsSource="VideoList">
...
<DataTemplate x:DataType="model:Video">
...
<CheckBox>
<CheckBox.Behaviors>
<toolkit:EventToCommandBehavior
x:TypeArguments="CheckedChangedEventArgs"
EventName="CheckedChanged"
Command="{Binding Source={x:Reference this}, Path=BindingContext.AddRemoveFromListCommand}"/>
</CheckBox.Behaviors>
</CheckBox>
...
</DataTemplate>
...
</CollectionView>
The ViewModel:
[RelayCommand]
public void AddRemoveFromList(CheckedChangedEventArgs args)
{
if (args.Value)
{
// do the thing
}
else
{
// do the other thing
}
}
请注意:working Code,但只有ChangedEVentArg
。 我需要通过<代码>ChangedEventArgs和Video
(在<DataTemplate/>
上注明)。
What have I tried?
我尝试了reading the docs。 答案可能在于此,但我无法找到答案。 <代码>xTypeArguments是复数,使我想也许我可以补充另一个论点?
And, alas, I have access to the Video
object in that attribute!
这使我想,也许我需要做的是:
<CheckBox.Behaviors>
<toolkit:EventToCommandBehavior
x:TypeArguments="CheckedChangedEventArgs, Video (model)"
EventName="CheckedChanged"
Command="{Binding Source={x:Reference this}, Path=BindingContext.AddRemoveFromListCommand}"
CommandParameter="{Binding VideoFilename}"
/>
</CheckBox.Behaviors>
而且:
[RelayCommand]
public void AddRemoveFromList(CheckedChangedEventArgs args, Video video)
{
...
}
But that doesn t work.
I did a ton of other stuff, too, involving CommandParameter
, but nothing worked.
是否有任何人知道在这方面做什么?