gpt4 book ai didi

.net - Wpf 用户控件和 MVVM

转载 作者:行者123 更新时间:2023-12-01 19:30:04 24 4
gpt4 key购买 nike

我正在考虑为我的应用程序编写一个 WPF 用户控件。我在我的应用程序中使用 MVVM。

用户控件可能需要可以设置我的父 View 的依赖属性。使用 MVVM 时,其想法是父 View 最终将在 UserControls DP 与父 View 的 VM 之间创建绑定(bind))

Dependency Properties 需要在 View 类中创建,因为 VM 不是从 DependencyObject 继承的。这意味着在后面的 XAML 代码中添加代码。

我想知道您是否可以就如何在使用 MVVM 开发 WPF 应用程序时设计用户控件提供建议...

最佳答案

情况 1:如果您创建此控件只是为了在应用程序中使用,那么您可以继续为其创建一个 ViewModel,但随后您就不需要了不需要创建 DP,您的 ViewModel 可以只实现 INotifyPropertyChanged 并且您的父 Vm 仍然可以绑定(bind)到它们。

在我们的例子中,对于用户控件,我们创建了单独的 VM,并且它的实例存在于 ParentVM 中。因此父 View 中将包含此控件,并将 UserControlVM 绑定(bind)到此控件(ParentVM.UserControlVM),而用户控件将处理其他绑定(bind)。

情况 2:如果您的控件将被其他应用程序/开发人员使用,并且您不想保持简单,那么请继续在控件模板实现之后创建自定义控件。通过这种方式,您可以创建外观简洁的控件并使用依赖属性。此外,无论谁使用该控件都不需要了解相关的 View 模型并使用它。

一些类似的问题/帖子:

WPF design question (custom control or mvvm): WPF design question (custom control or mvvm)

Custom control in WPF using MVVM concept: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/6293b176-e1e9-4610-af49-d53e6d294969/

WPF User Control hell with MVVM and Dependency Properties: WPF User Control hell with MVVM and Dependency Properties

关于.net - Wpf 用户控件和 MVVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3333934/

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