我在一个简单的WPF应用程序中有三张图片。汽车,飞机和火车。
当我点击其中任何一个时,我会加载一个适当的“运输”对象,该对象具有传输名称,图片文件路径和其他字符串属性。一个简单的POCO对象。
如何在XAML中声明各种类型的模板,以便我可以将该POCO对象应用为数据源,并将属性X放在元素Foo中?
这是我的简单XAML:
<StackPanel>
<TextBlock>Car</TextBlock>
<TextBlock>Slow</TextBlock>
<TextBlock>4 Wheels</TextBlock>
</StackPanel>
所以这里的属性将是我提供的POCO的模板持有者。
如何提供此数据上下文?
答案 0 :(得分:4)
<StackPanel x:Name="transportPanel">
<TextBlock Text="{Binding Name}" />
<TextBlock Text="{Binding Speed}" />
<TextBlock Text="{Binding Components}" />
</StackPanel>
在代码中,您设置数据上下文:
transportPanel.DataContext = myCarObject;
WPF只能绑定到属性,而不能绑定到字段,因此在设计POCO时请记住这一点。