0

我已经使用 Blend 工具为我的一个类创建了 xml 示例数据,现在通过设置我的主网格的以下属性成功地在设计器中显示它:

DataContext="{d:DesignData /SampleData/MySampleData.xaml}"

现在如何将DataContext子 Grid 的 设置为我的对象的(复杂)属性?例如,假设我的主要对象是 Person 并且它的复杂属性是 Address 具有诸如 Street、City、Country 等子属性,我如何将DataContext我的 Address Grid 设置为此 Address 属性,以便该网格中的 TextBoxes 开始显示设计器内的数据。这些文本框直接绑定到地址的子属性,例如:

<TextBox Text="{Binding City}" />

因此,如果我能够将地址网格的 DataContext 设置为地址属性,这些应该可以正常工作。

编辑 要添加更多细节,这是我的 XAML:

<Grid d:DataContext="{d:DesignData /SampleData/MySampleData.xaml}">
    <TextBox Text="{Binding Name}" />

    <Grid DataContext="{Binding RelativeSource={RelativeSource AncestorType=Grid}, Path=DataContext.Address}">
        <TextBox Text="{Binding City}" />
    </Grid>
</Grid>

在这里,Name TextBox 工作正常,但 City TextBox 不行。

编辑2: 我的错。刚刚发现我使用了错误的属性名称。一切都按预期工作。下面提供的链接是显示设计时示例数据的绝佳资源,因此我也将其标记为答案。

4

0 回答 0