将 DataGrid 追加到 DataGrids RowDetailsTemplate 内部

发布于 2024-09-03 02:41:12 字数 437 浏览 5 评论 0原文

这似乎已绑定,但详细信息网格中的行为空。有什么东西关闭/丢失了吗?

我还尝试过 {Binding SubCustomers}

SubCustomers 是父对象上的列表。

我可以通过这种方式绑定到单个字段,例如名字等。只是不是子集合。

        <DataGrid.RowDetailsTemplate>
            <DataTemplate>
                <DataGrid AutoGenerateColumns="True" ItemsSource="{Binding Source=SubCustomers}" />
            </DataTemplate>
        </DataGrid.RowDetailsTemplate>

this appears to bind, but rows in Details Grid are empty. Something is off/missing?

I've also tried {Binding SubCustomers}

SubCustomers is a List on parent object.

I am able to bind this way to single Fields such as FirstName etc.. just not the subcollection..

        <DataGrid.RowDetailsTemplate>
            <DataTemplate>
                <DataGrid AutoGenerateColumns="True" ItemsSource="{Binding Source=SubCustomers}" />
            </DataTemplate>
        </DataGrid.RowDetailsTemplate>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

记忆で 2024-09-10 02:41:12

问题是您试图绑定到父级的 DataContext 上的属性,而不是该特定行上的属性。因此,RowDetailsDataContext 是行项,为了获取父项的属性,您需要使用 RelativeSource 绑定。如果您绑定到父级的 DataContext,则可以“点向下”到您真正关心的属性:

<DataGrid.RowDetailsTemplate>
        <DataTemplate>
            <DataGrid AutoGenerateColumns="True" 
                      ItemsSource="{Binding DataContext.SubCustomers, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>

The problem is that you are trying to bind to a property on the DataContext of the parent, not on that particular row. So, the DataContext of the RowDetails is the row item, and in order to get the parent's property, you need to use RelativeSource bindings. If you bind to the DataContext of the parent, you can then "dot-down" to the property you actually care about:

<DataGrid.RowDetailsTemplate>
        <DataTemplate>
            <DataGrid AutoGenerateColumns="True" 
                      ItemsSource="{Binding DataContext.SubCustomers, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文