我在WPF应用程序中尝试以下内容:
XAML元素的结构。
DataTemplate[Data Type 'A']
Grid
Broder
TextBlock
我想将文本块的text属性绑定到“string”,该字符串派生自我的“Users”类,该类在XAML的资源字典中引用。
因此,在上述结构中,DataTemplate从数据类型“A”获取提要。
我想将datacontext(Users)分配给网格,并将字符串绑定到文本块。
我有没有办法实现这一点,因为我的所有试验都包括将datacontext分配给Grid或Border或TextBlock不起作用。
如果我的方法在这里错了,任何人都可以建议我或纠正我吗?
答案 0 :(得分:3)
此标记应该足够了:
<DataTemplate DataType="{x:Type local:A}">
<Grid DataContext="{Binding Path=Users}">
<Border>
<TextBlock Text="{Binding Path=PropertyOnUsers}"/>
</Border>
</Grid>
</DataTemplate>
确保在Xaml顶部声明了名称空间。无论出于何种原因,如果您不使用{x:Type ...}
,WPF并不总是自动推断该类型的模板。
从那以后它应该是直截了当的。
如果Users是一个集合,则必须深入到该集合中以获取User的特定实例。
顺便说一句,如果您使用的是Visual Studio,则可以使用“输出”窗口来调试绑定问题。