gpt4 book ai didi

wpf - 将大量数据传递给用户控件

转载 作者:行者123 更新时间:2023-12-04 06:38:46 24 4
gpt4 key购买 nike

由于 WPF 中的 UserControls 必须具有无参数构造函数,因此为它们提供相当复杂的数据的正确方法是“接近”构造时间所需的。我已经尝试为此使用依赖属性,但我遇到了 Visual Studio 设计器在尝试传递诸如 Dictionary<string,MyObject> 之类的东西时遇到的问题。进入 IDictionary<string,MyObject>类型化的依赖属性。在某些时候,它必须需要精确的编译时类型匹配,否则设计器中不会出现 XAML,尽管应用程序执行得很好。

基本上,我想要一种很好的方法来将通常会传递给构造函数的东西传递给用户控件。最好的方法是什么?

更新:
有问题的用户控件将始终从 XAML 创建,因此除了无参数构造之外,还不能选择非无参数构造。

更新 2:
一个有趣的想法是从无参数构造函数中访问一些东西,我可以从中获取我的初始化数据。可能会问这样一个问题:我已经初始化的祖先中的哪个实现了 IMyDataProvider 接口(interface)?这可能类似于相对源到祖先类型绑定(bind)的工作方式,除了从用户控件构造函数以编程方式完成。

最佳答案

如果您遇到的唯一问题是传入派生类型,则可以传入一个简单的具体容器类,其中包含您的复杂类型作为属性。例如:

public class InitializationData
{
public IDictionary<TKey, TValue> Dictionary { get; set; }
}

这种间接级别将克服 Visual Studio 设计器的限制。

关于wpf - 将大量数据传递给用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4550776/

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