我有以下問題:我正在設計一個UserControl,一個漸變色表。我決定使用MVVM設計模板,這是一個不錯的選擇。但是,我有以下問題。在View XAML文件中,我嘗試使用custtom轉換器將值轉換爲顏色,該轉換器需要2個參數。爲此,我用的是MultiBinding:如何將DataBinding設置爲XAML中的任意屬性?
<ItemsControl ItemsSource="{Binding Path=ViewData}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle Height="2">
<Rectangle.Fill>
<MultiBinding Converter="{StaticResource colorConverter}">
<Binding Path="Value"/>
<Binding Source="{StaticResource Palette_ICOS}"/>
</MultiBinding>
</Rectangle.Fill>
</Rectangle>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
的事情是,我不希望使用
{StaticResource的Palette_ISO1}
作爲第二個參數,但屬性,它是DataContext的直接屬性,不是ViewData集合成員的屬性。我嘗試了幾種方法來完成這種情況,但沒有顯着的成功。
截至去年,我曾嘗試以下:
<Binding Path="CurrentPallete"/>
和CurrentPallete樣子:
public Palette CurrentPalette
{
get { return _currentPalette; }
set
{
_currentPalette = value;
}
}
即在類中的屬性,它的情況下被設置爲的一個DataContext主要是控件,它主控ItemControl。我得到的是在調試器,當相應的轉換器被調用,這可能意味着一個
[0x00000001] = {DependencyProperty.UnsetValue}
值,該屬性不能被發現。任何人都可以指出達到預期效果的方式是什麼?非常感謝!
我想你的意思是'路徑'那裏,也有一些釋義的話不會傷害。 –
@ H.B。,是的,我的意思是路徑,而不是源... –
正確,那是我需要的解決方案 –