我正在学习WPF并且有这个简单的问题 如何将填充颜色设置为属性vi XAML?
<Rectangle Fill="{Binding Path=BackgroundColorf}"
Height="112" Margin="0,84,0,0" VerticalAlignment="Top"
Width="116"/>
public partial class MainWindow : Window
{
/// <summary>
/// Gets or sets the BackgroundColor.
/// </summary>
public SolidColorBrush BackgroundColorf
{
get;
set;
}
public MainWindow()
{
this.InitializeComponent();
BackgroundColorf = new SolidColorBrush(Colors.Red);
}
}
答案 0 :(得分:1)
让你去...
为Rectangle添加名称
<Rectangle x:Name="MyRect" Fill="{Binding Path=BackgroundColorf}" Height="112" ...
然后在代码中
InitializeComponent();
MyRect.DataContext = this;
BackgroundColorf = new SolidColorBrush(Colors.Red);
不是最好的做事方式 - 但至少你会有一个红色的矩形:)
答案 1 :(得分:1)
像这样设置datacontext
public MainWindow()
{
this.DataContext = this;
this.InitializeComponent();
BackgroundColorf = new SolidColorBrush(Colors.Red);
}
这应该可行。但是要让你的wpf应用程序可以像通知,依赖属性等那样进行扩展,还有很多工作要做。我建议你在继续之前先阅读wpf DataBinding架构的基础知识。浏览HB发布的链接评论
答案 2 :(得分:0)
如果你添加它,你的例子将起作用
public MainWindow()
{
this.InitializeComponent();
this.DataContext = this;
BackgroundColorf = new SolidColorBrush(Colors.Red);
}
但你应该在一些wpf书籍或网站上获得基础知识。
一本非常好的书是Adam Nathan的“WPF 4 Unleashed”。