我試圖將轉換器參數設置爲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