我在视图模型中有一个名为 的命令Add,它当前接受一个名为 的参数Result。我现在需要将更多数据传递到命令中,这就是控件IsToggled的属性值Switch。
所以如果我有以下课程:
public class ResultData
{
public string Result { get; set; }
public bool IsToggled { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
以及相关 XAML 的片段:
<Switch IsToggled="false" ThumbColor="Black" OnColor="LimeGreen" HorizontalOptions="End" VerticalOptions="Center" >
<Switch.Behaviors>
<behaviours:EventToCommandBehavior EventName="Toggled"
Command="{Binding BindingContext.Add, Source={x:Reference
MyPageContent}}"
CommandParameter="{Binding Result}" />
</Switch.Behaviors>
</Switch>
Run Code Online (Sandbox Code Playgroud)
传递Result&IsToggled使用 的XAML 语法是什么CommandParameter?如果您觉得这不是正确的方法,我愿意接受其他方法。
小智 5
您只需将开关 BindingContext 设置为 Result 并将开关作为参数传递给 CommandParameter,即可从该参数中获取开关的任何属性。
<Switch IsToggled="false" ThumbColor="Black" OnColor="LimeGreen" HorizontalOptions="End" VerticalOptions="Center" BindingContext="{Binding Result}" x:Name="switch">
<Switch.Behaviors>
<behaviours:EventToCommandBehavior EventName="Toggled"
Command="{Binding BindingContext.Add, Source={x:Reference
MyPageContent}}"
CommandParameter="{Binding Source={x:Reference switch}}" />
</Switch.Behaviors>
</Switch>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4663 次 |
| 最近记录: |