2016-04-21 7 views
0

私は単純なLabelエレメントを持っています。私は2つの方法でそれをコーディングします。プロパティエレメントと属性タグの構文

アプローチ1:Bindingマークアップ拡張のConverter属性の属性構文を使用します。 Converter属性は中括弧{}で囲まれています。

<Label Text="Flag Background" BackgroundColor="{Binding Source={x:Reference switch3}, Path=IsToggled, Converter={StaticResource boolToColor}}"></Label> 

アプローチ2:Converter属性のproperty-elementタグを使用します。それはOKです。

<Label> 
    <Label.Text> 
     <Binding Source="{x:Reference switch3}" Path="IsToggled"> 
     <Binding.Converter> 
      <toolkit:BoolToStringConverter FalseText="Red" TrueText="Lime"></toolkit:BoolToStringConverter> 
     </Binding.Converter> 
     </Binding> 
    </Label.Text> 

    </Label> 

ただし、ソースをプロパティ要素タグとして使用することはできません。なぜ私はSourceのproperty-elementタグを使用できないのか分かりません。説明してください。あなたは、あなただけの結合自体を忘れてしまったことができ

<Label> 
    <Label.Text> 
     <Binding.Source> 
      ... 
     </Binding.Source> 
    </Label.Text> 

    </Label> 

答えて

2

<Label> 
    <Label.Text> 
     <Binding> 
      <Binding.Source>...</Binding.Source> 
     </Binding> 
    </Label.Text> 
</Label> 
+0

EVK、お返事ありがとうございました。なぜ、のproperty-elementタグのためにラッピングするタグが必要なのか説明してください。 –

+0

実際にBindingオブジェクトをLabel.Textプロパティに割り当てるためです。 Stringや他の種類のサポートされているオブジェクトを割り当てることもできますが、どちらを指定する必要があります。この場合、Bindingオブジェクトを作成し、そのSourceプロパティを設定し、Label.Textに設定します。 xamlを使わずにコード内で全く同じことができます。 – Evk

関連する問題