我有一个LayoutAwarePage,其属性为Color - “MyColor”。 我向页面添加了一个简单的控件,如Rectangle或TextBox,并将控件的背景限制为MyColor。 我将MyColor设置为黑色,白色,红色等' - 这些都不起作用。无论我做什么,控件都保持黑色。怎么解决这个问题?
我听从了你的建议并且有效,谢谢!我还尝试在页面中添加下一个样式:
<Grid.Resources>
<ResourceDictionary>
<Style TargetType="a:MyTextBlock">
<Setter Property="Background" Value="{Binding TextBlockBackgroundColor}"></Setter>
<Setter Property="BorderBrush" Value="{Binding TextBlockBorderColor}"></Setter>
<Setter Property="Width" Value="200"></Setter>
<Setter Property="IsReadOnly" Value="False"></Setter>
<Setter Property="BorderBrush" Value="3" ></Setter>
</Style>
</ResourceDictionary>
</Grid.Resources>
现在我看不到MyTextBlock类型的控件......
为什么?
答案 0 :(得分:1)
您必须将Fill
的{{1}}属性与Rectangle
绑定,而不是SolidColorBrush
。请参阅以下代码。
viewModel.cs
Color
BlankPage1.xaml.cs
public class viewModel
{
public Color color { get; set; }
public viewModel(Color _color)
{
color = _color;
}
public SolidColorBrush MyColor
{
get
{
return new SolidColorBrush(color);
}
}
}
XAML
public BlankPage1()
{
this.InitializeComponent();
DataContext = new viewModel(Colors.Red);
}