True
に渡すにはどうすればよいCommandParameter
ですか?
現在、私は必然的Boolean.True
にリソース辞書に追加していますが、それは不器用な方法のようです。
True
に渡すにはどうすればよいCommandParameter
ですか?
現在、私は必然的Boolean.True
にリソース辞書に追加していますが、それは不器用な方法のようです。
コマンドパラメーターはタイプ'object'であるため、XAMLパーサーはタイプ変換を実行できません。'true'を渡すと、パーサーはこれをブール値に変換する必要があることを知る方法がありません。これは明示的に行う必要があります。プロパティ要素の構文を使用できます。
<Button>
<Button.CommandParameter>
<sys:Boolean>true</sys:Boolean>
</Button.CommandParameter>
</Button>
sys namepsaceがマップされる場所:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
ColinEの答えは問題ありませんが、真/偽をリソースとして定義するのは少し賢明だと思います。あなたは一度だけそれをする必要があります:
<UserControl.Resources>
<sys:Boolean x:Key="BoolTrue">True</sys:Boolean>
<sys:Boolean x:Key="BoolFalse">False</sys:Boolean>
</UserControl.Resources>
StaticResource
次に、それをCommandParameter
:のとして参照できます。
<Button CommandParameter="{StaticResource BoolTrue}" />
XAMLがこれに変わります。
<Button
Command="{Binding Path=WhateverCommand}"
CommandParameter="{x:Static BooleanHelper.True}" />