Binding Expression for WPF/Silverlight
C1Binding クラス
C1Binding Expression の操作 > C1Binding クラス

これらの問題を対処するために、C1Binding クラスでは、表現力豊かな式を使用して連結を行うことができます。C1Binding を使用すると、前述の例を次のように記述できます。

XAML
コードのコピー
<TextBlock
  Text="{c1:C1Binding Expression='concatenate(FirstName, | |, LastName)' }"
  Foreground="{c1:C1Binding Expression='if(Amount &lt; 0, |red|, |black|)' }" />

この方がずっと簡潔かつ直感的であることがわかります。リソースもコンバータもありません。連結の意図が XAML からはっきりとわかります。

XAML の作成者がフルネームを「姓、名」の順で表示したいと思ったら、XAML で直接変更できます。マイナスの金額を太字で表示させたい場合も、簡単に変更できます。

XAML
コードのコピー
<TextBlock
  Text="{c1:C1Binding Expression='concatenate(FirstName, | |, LastName)' }"
  Foreground="{c1:C1Binding Expression='if(Amount &lt; 0, |red|, |black|)' }" />
  FontWeight="{c1:C1Binding Expression='if(Amount &lt; 0, |bold|, |normal|)' }" />

上の式で、縦棒は引用符を表します。&quot; を使用することもできますが、縦棒の方が読みやすく入力も簡単です。

上の式内の "Expression=" 部分は、WPF ではオプショナルですが、Silverlight の場合はSilverlight 5 が解放された後必要ではありません。

関連トピック