2012-04-17 4 views
1

xamlで使用したいカスタムコンバータがあります。コンバータは、値が0の場合はAdminを置き、2の場合はキャッシャを置きます。セルフコントロールの文字列にバインド

これは私が探しているものです。

<ComboBoxItem Content="{Binding 'I want to place the value in here', Converter={StaticResource MyConverter}}"></ComboBoxItem>  

私は配置する場合ように:私はそれは私のコンバータに値0を渡し期待しています

<ComboBoxItem Content="{Binding '0', Converter={StaticResource MyConverter}}"></ComboBoxItem> 

。どうすればこれを達成できますか?


私は私のようなものカンニングして行うことができます知っている:あなたの実装はとにかくハックのように見えることから、あなただけの別のものを使用することができ、

<Label Name="L1" Visiblity="hidden">0</Label> 
<ComboBoxItem Content="{Binding, ElementName='L1', Path='Content' Converter={StaticResource MyConverter}}"></ComboBoxItem> 

をしかし、それはまあ

+0

私はあなたの疑問を理解していませんが、実際にバインディングを置くこと以外はあなたが示したことを正確に行います。あなたは一般的にバインディングを行う方法に慣れていませんか? – CodingGorilla

+0

私は、日付や文化などのロジックに依存するコンバータを持っているので、私はそのコードを自分のコードの中で利用したいと思います。私はそれをリストビューやラベルにバインドして使用したいと思っていました.... –

答えて

2

を冗長することですハック:

<ComboBoxItem Tag="0" 
       Content="{Binding RelativeSource={RelativeSource Self}, 
           Path=Tag, 
           Converter={StaticResource MyConverter}}"> 
0

私はあなたがすでに私の最初の答えを受け入れていることを知っていますが、これはもう一つの方法ですおそらくもっと有効です。

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

    <Control.Resources> 
     <sys:Int32 x:Key="Zero">0</sys:Int32 > 
    </Control.Resources> 

    <ComboBoxItem Content="{Binding Source={StaticResource Zero}, 
            Converter={StaticResource MyConverter}}"> 

</Control> 
関連する問題