我试图动态改变矩形的颜色但是当我尝试改变它时没有任何反应
<Grid x:Name="LayoutRoot">
<Grid Name="rootgrid" Margin="0,10,0,-10">
<Rectangle Name="box3" HorizontalAlignment="Stretch" Margin="56,500,71,182">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding color1}" />
</Rectangle.Fill>
</Rectangle>
</Grid>
前两个矩形有效,但 box3 不显示颜色
public Program()
{
InitializeComponent();
MyColors color = new MyColors();
color.color1 = Colors.Yellow;
box3.DataContext = new SolidColorBrush(Colors.Yellow);;
}
private SolidColorBrush _color1;
// Declare the PropertyChanged event.
public event PropertyChangedEventHandler PropertyChanged;
// Create the property that will be the source of the binding.
public SolidColorBrush color1
{
get { return _color1; }
set
{
_color1 = value;
NotifyPropertyChanged("color1");
}
}
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this,
new PropertyChangedEventArgs(propertyName));
}
}
上面没有抛出任何错误,但它改变了 box3 的填充值,我不确定我做错了什么。任何帮助将不胜感激。
更新了代码以反映更改
更新:已解决问题是 Visual Studio 没有正确更新代码在 7.1 中有效,但在 8.0 中无效