C# WPF-绑定到公共字段
我看起来 它很好用。但我想把它复杂化 再创建一个类。它将是上面视频示例中C# WPF-绑定到公共字段,c#,wpf,C#,Wpf,我看起来 它很好用。但我想把它复杂化 再创建一个类。它将是上面视频示例中Person类的简单包装器 public class MetaPerson { public Person Person; public String SomeMeta; } 在构造函数窗口中编写代码 public MainWindow() { InitializeComponent(); var metaPerson = new MetaPerson
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; }
}
真的很有效,thx。仍然不能适应WPF的特性