來自博客文章Silverlight MultiBinding solution for Silverlight 4的代碼中的Converter
屬性不是依賴項屬性,因此我無法將其與轉換器綁定(因爲技術原因,必須將其作爲部件實例化的Unity注入,而不是作爲用戶控件一部分的簡單靜態資源)。將轉換器綁定到Silverlight中的多重綁定
如何修改MultiBinding
代碼以接受綁定轉換器?我試圖使它依賴屬性:
public IMultiValueConverter Converter { get { return (IMultiValueConverter)GetValue(ConverterProperty); } set { SetValue(ConverterProperty, value); } }
public static DependencyProperty ConverterProperty = DependencyProperty.Register("Converter", typeof(IMultiValueConverter), typeof(IMultiValueConverter), null);
,但我得到了
的DependencyProperty System.Windows.Data.IMultiValueConverter。轉換器不能在類型爲... Binding.MultiBinding的對象上設置。
如果這不是一個可行的選擇,我該怎麼綁定ConverterParameter
財產或得到的東西來模擬轉換器的綁定到一個MultiBinding
?
爲什麼不將數據綁定到MultiBinding呢?那麼在多值轉換器中有數據,並且如果數據更改,則轉換器也會觸發。 – punker76
@ punker76,我不知道我跟着你。例如,我有一個視圖模型的多屬性的3個屬性,但他們必須運行一個轉換器才能在視圖中正確地格式化。該轉換器本身不能(據我所知)是一個靜態資源,因爲* it *具有注入其構造函數的依賴關係。 – Kit
恩,不幸的是我還沒有理解你爲什麼要綁定一個轉換器? – punker76