1

我有一个要在 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> 

但那是多余的

4

2 回答 2

2

好吧,由于无论如何您的实现似乎是一个 hack,您可以使用另一个 hack:

<ComboBoxItem Tag="0" 
              Content="{Binding RelativeSource={RelativeSource Self}, 
                                Path=Tag, 
                                Converter={StaticResource MyConverter}}">
于 2012-04-17T18:13:18.213 回答
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>
于 2012-04-18T20:23:37.310 回答