我试图将转换器参数设置为ItemTemplate内部项目的属性。 由于ConverterParameter不是依赖项属性绑定不起作用。
但我真的不需要绑定,只需设置一次就足够了,因为它永远不会改变。ConverterParameter:在ItemTemplate中设置它
<ItemsControl ItemsSource="ItemsWithTypeProperty">
<ItemsControl.ItemTemplate>
<DataTemplate>
<RadioButton IsChecked="{Binding SelectedItem.Base.Type, Converter={l:IsEqualConverter}, Mode=TwoWay, ConverterParameter={Type}}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
IsEqualConverter:
转换:该值进行比较,该参数,并返回结果
ConvertBack:如果该值是真则返回参数
ItemTemplate中的DataContext的是包含类名称为“Type”的Property。
它的类型是对象。
有没有一种方法可以将{Type}替换为仅将其设置为(DataContext。)的类型?如果是的话如何?
否类型不恒定。这种情况下的类型意味着具有DataContext对象的名称“Type”的Property。多重绑定也是我的第一个想法,但问题是我无法将其转换回来。 ConvertBack只提供一个布尔值,并不足以将其转换回我需要的对象。 – Arokh 2012-01-05 17:05:51
OK,在这种情况下,我会说要么回到绘图板或者如果你真的必须,你有可以使ConverterParameter绑定的黑客。请参阅http://marlongrech.wordpress.com/2008/08/03/my-wish-came-true-i-can-now-use-databinding-in-a-converterparameter/ – 2012-01-05 20:18:36