Silverlight:如何将True传递给CommandParameter?

时间:2012-01-04 04:47:06

标签: silverlight command commandparameter

如何将True传递给CommandParameter

目前我正在强制将Boolean.True添加到资源字典中,但这似乎是一种笨拙的方式。

3 个答案:

答案 0 :(得分:11)

由于命令参数的类型为“object”,因此XAML解析器无法为您执行类型转换。如果传递'true',解析器无法知道您希望将其转换为布尔值。你必须明确地这样做。您可以使用属性元素语法:

<Button>
  <Button.CommandParameter>
    <sys:Boolean>true</sys:Boolean>
  </Button.CommandParameter>
</Button>

sys namepsace的映射位置:

xmlns:sys="clr-namespace:System;assembly=mscorlib"

答案 1 :(得分:10)

ColinE的答案很好,但我认为将真/假定义为资源有点整洁。你只需要这样做一次:

<UserControl.Resources>
    <sys:Boolean x:Key="BoolTrue">True</sys:Boolean>
    <sys:Boolean x:Key="BoolFalse">False</sys:Boolean>
</UserControl.Resources>

然后,您可以将其引用为StaticResource的{​​{1}}:

CommandParameter

答案 2 :(得分:1)

您的XAML更改为此。

android:layout_marginBottom="?attr/actionBarSize"