好的,
我有一个严重的问题。
我有一个带有静态属性的静态类,它提供一些颜色作为十六进制字符串:
namespace com.myCom.Views
{
public static class MyColorTable
{
private const string _Hex0 = "#FFFFFFFF";
private const string _Hex1 = "#FFE5E5E5";
public static String Hex0
{
get { return _Hex0; }
}
public static String Hex1
{
get { return _Hex1; }
}
}
}
现在,我想通过XAML将这些颜色绑定到UserControl,如下所示:
<UserControl x:Class="com.testing.MyTestClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="53" Width="800"
FocusVisualStyle="{x:Null}">
<Grid x:Name="MyGrid"
Focusable="false"
FocusManager.IsFocusScope="True"
Background="{Binding Soure={x:Static MyColorTable}, Path=Hex1}"
Margin="0,0,0,0"
FocusVisualStyle="{x:Null}"
/>>
我知道这不起作用,所以我的问题是,我该怎么做?我不需要双向绑定或任何PropertyChanged事件,因为一旦应用程序启动,颜色将不会更新。
答案 0 :(得分:7)
得到了它:
<UserControl x:Class="com.testing.MyTestClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:colors="clr-namespace:com.myCom.Views;assembly=com.myCom"
Height="53" Width="800"
FocusVisualStyle="{x:Null}">
<Grid x:Name="MyGrid"
Focusable="false"
FocusManager.IsFocusScope="True"
Background="{Binding Source={x:Static Member=colors:MyColorTable.Hex1}}"
Margin="0,0,0,0"
FocusVisualStyle="{x:Null}"/>