如何将POCO对象绑定到WPF GUI?

Onl*_*ere 2 wpf datacontext user-interface

我在一个简单的WPF应用程序中有三张图片。汽车,飞机和火车。

当我单击它们中的任意一个时,我将加载一个具有运输名称,图片文件路径和其他字符串属性的适当的“运输”对象。一个简单的POCO对象。

如何在XAML中声明各种模板,以便随后可以将该POCO对象用作数据源,并将属性X放在元素Foo中?

这是我简单的XAML:

<StackPanel>
    <TextBlock>Car</TextBlock>
    <TextBlock>Slow</TextBlock>
    <TextBlock>4 Wheels</TextBlock>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

因此,此处的属性将是我提供的POCO的模板持有人。

如何提供此数据上下文?

Hei*_*nzi 5

<StackPanel x:Name="transportPanel">
    <TextBlock Text="{Binding Name}" />
    <TextBlock Text="{Binding Speed}" />
    <TextBlock Text="{Binding Components}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

然后在代码中设置数据上下文:

transportPanel.DataContext = myCarObject;
Run Code Online (Sandbox Code Playgroud)

WPF只能绑定到属性,而不能绑定到字段,因此在设计POCO时请记住这一点。