在Win8应用商店中将控件绑定到颜色

时间:2013-08-14 17:08:45

标签: binding windows-8

我有一个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类型的控件......

为什么?

1 个答案:

答案 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);
}