我想将一个文本块前景属性绑定到一个颜色对象(或一个画笔对象,我不知道哪个是正确的)。我的颜色和画笔存储在名为Colors的类中(例如,Colours.MyColour),因此我将DataContext设置为:
DataContext="{Binding} Colours"
并像这样绑定前台属性:
<TextBlock Text="Text" Foreground="{Binding MyColour}"/>
这不起作用,所以我显然做错了。有人可以让我知道吗?
TextBlock.Foreground
属性是TextBlock.Foreground
,因此Brush
的成员也应该是Colours
类型。
您的评论说Brush
是Colours
类。如果是这种情况,您应该可以使用static
来引用它,如下所示:
x:Static
请注意,您需要指定定义x:Static
的名称空间。使用<TextBlock Text="Text" Foreground="{x:Static local:Colours.MyColour}"/>
在顶部的XAML文件中引用其他名称空间。默认情况下,当前项目的名称空间被添加为“本地”,因此Colours
中的xmlns
。