我需要绑定(bind)颜色以填充矩形。

XAML:

<Rectangle Fill="{Binding Colorr}"
           VerticalAlignment="Center"
           Height="3" Width="16"
           Margin="3, 1, 5, 0"
           Visibility="Visible"/>

ViewModel:
public ItemViewModel()
{
     Colorr = Colors.Red;;
}
public Color Colorr
{
    get {
        return color; }
    set
    {
        color = value;
        NotifyOfPropertyChange(() => Colorr);
    }
}

生成的矩形不可见(或透明-很难说...),而不是可见和红色。我如何摆脱这个问题?

最佳答案

Rectangle.Fill (它从Shape继承)是Brush,而不是Color。因此,请改为将您的媒体资源设为Brush:

private Brush _colorr = Brushes.Red;
public Brush Colorr
{
    get
    {
        return _colorr;
    }
    set
    {
        _colorr = value;
        NotifyOfPropertyChange(() => Colorr);
    }
}

可能还有其他问题,但是您需要先解决此问题。

10-06 02:33