gpt4 book ai didi

c# - WPF 用户控件中的 "DataContext = this"有什么问题?

转载 作者:可可西里 更新时间:2023-11-01 08:07:17 24 4
gpt4 key购买 nike

我在某处读到,在用户控件的构造函数中设置 DataContext = this 是不好的做法(虽然找不到位置)。为什么这是不好的做法?有什么选择?

最佳答案

一般来说,当有人使用您的控件时,他们会希望将它的数据上下文设置为他们自己的 View 模型类,并将您控件上的属性绑定(bind)到他们的 View 模型。

如果您开始在控件内部乱用数据上下文,并依赖于将其设置为“this”,您将阻止它们的绑定(bind)工作,或者您的控件将无法按预期工作,因为您依赖它没有被改变。


假设您有一个用户控件,上面有一堆子控件。您可以做的是将子控件上的 DataContext 设置为您的用户控件类(或任何您想要的)。这将允许您将这些子控件绑定(bind)到您的用户控件的属性,同时仍然允许您的控件的任何用户将其数据上下文设置到他们的 View 模型并绑定(bind)到属性。

关于c# - WPF 用户控件中的 "DataContext = this"有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2153787/

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