WPF-绑定到公共字段
本文关键字:字段 绑定 WPF- | 更新日期: 2023-09-27 18:25:49
我看了的视频示例
它运行良好。但我想要一些复杂的东西。
再创建一个类。它将是以上视频示例中Person
类的简单包装器
public class MetaPerson
{
public Person Person;
public String SomeMeta;
}
在构造函数窗口中编写代码
public MainWindow()
{
InitializeComponent();
var metaPerson = new MetaPerson
{
Person = new Person("Lola", "Azazaeva", 25, Gender.Female),
SomeMeta = "Eto some meta!"
};
//Setas datacontext
DataContext = metaPerson;
}
在XAML中,我像在视频中一样写道:
<StackPanel>
<ContentControl Content="{Binding}">
<ContentControl.ContentTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Person.Name}" FontSize="12" Foreground="Red"/>
</StackPanel>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
</StackPanel>
这行不通。
<StackPanel>
<ContentControl Content="{Binding Person}">
<ContentControl.ContentTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}" FontSize="12" Foreground="Red"/>
</StackPanel>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
</StackPanel>
这也不起作用:(
我做错了什么?
唯一的问题是您已经将变量作为成员——它们必须是属性才能使绑定工作。
public class MetaPerson
{
public Person Person { get; set; }
public String SomeMeta { get; set; }
}