WPF中的DataContext

时间:2012-10-18 20:28:49

标签: c# wpf

我在WPF应用程序中尝试以下内容:

XAML元素的结构。

DataTemplate[Data Type 'A']
    Grid
       Broder
          TextBlock

我想将文本块的text属性绑定到“string”,该字符串派生自我的“Users”类,该类在XAML的资源字典中引用。

  1. 因此,在上述结构中,DataTemplate从数据类型“A”获取提要。

  2. 我想将datacontext(Users)分配给网格,并将字符串绑定到文本块。

  3. 我有没有办法实现这一点,因为我的所有试验都包括将datacontext分配给Grid或Border或TextBlock不起作用。

    如果我的方法在这里错了,任何人都可以建议我或纠正我吗?

1 个答案:

答案 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,则可以使用“输出”窗口来调试绑定问题。