绑定到一串自我控制

时间:2012-04-17 18:08:52

标签: c# wpf xaml binding converter

我有一个我想在xaml中使用的自定义转换器。如果值等于0,则转换器只放置Admin,如果它等于2则为Cashier。

无论如何,这正是我要找的。

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

所以,如果我放置:

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

我希望它将值0传递给我的转换器。我怎样才能做到这一点?


我知道我可以欺骗并做类似的事情:

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

但这是多余的

2 个答案:

答案 0 :(得分:2)

好吧,既然你的实现似乎是一个hack,你可以使用另一个hack:

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

答案 1 :(得分: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>