gpt4 book ai didi

c# - 具有不同内部数据网格 ItemSsource 属性的 WPF 用户控件

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:22 26 4
gpt4 key购买 nike

我有三个名为 UC 的用户控件。除了它们在布局中使用的 DataGrid 需要每个不同的 DynamicResource 之外,它们都是相同的。基本上:

<DataGrid ...
ItemsSource="{DynamicResource Model1}"> <!-- I want to pass in this "Model1" string? -->

...
</DataGrid>

<DataGrid ...
ItemsSource="{DynamicResource Model2}">

...
</DataGrid>

<DataGrid ...
ItemsSource="{DynamicResource Model3}">

...
</DataGrid>

我所有的用户控件都是在一个窗口中创建的:

<Window ...>

<my:UC/>
<my:UC/>
<my:UC/>

</Window>

截至目前,我的三个 UC 在数据网格中显示相同的数据导致动态资源在所有三个中都相同,我如何将一个值传递给每个用户控件以更改其中的动态资源?或者应该如何处理我一天前开始做 WPF。

谢谢

最佳答案

在您的用户控件中创建一个依赖属性,它将保存 ItemsSource 值 ( DependencyProperty.Register )。在您的控件中,将 DataGrid 绑定(bind)到此属性。然后通过动态资源在您的窗口中设置此属性:

<Window ...>
<my:UC DataGridItemsSource="{DynamicResource Model1}" />
<my:UC DataGridItemsSource="{DynamicResource Model2}" />
<my:UC DataGridItemsSource="{DynamicResource Model3}" />
</Window>

为了在您的控件中绑定(bind) DataGrid.ItemsSource,您可以使用与 ElementName=parentName 的绑定(bind)或与 RelativeSource=FindAncestor 的绑定(bind)>/p>

关于c# - 具有不同内部数据网格 ItemSsource 属性的 WPF 用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15552298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com