gpt4 book ai didi

WPF ViewModel 和 View

转载 作者:行者123 更新时间:2023-12-03 10:28:27 24 4
gpt4 key购买 nike

我已经在 WPF 中编程一段时间了,现在来自 Windows 窗体。因此,我一直通过为 View 中的控件命名并在 ViewModel 中使用该名称来更新我的 View ,将我的 View 和 View 模型直接链接在一起。

现在我做了一些搜索,发现有一个叫做 MVVM 的东西。我已经研究了一个星期,并试图让我的应用程序“更好”。

首先,我开始使用与依赖属性的绑定(bind),如下所示:

Public Shared SelKlantProperty As DependencyProperty = DependencyProperty.Register("SelKlant", GetType(String), GetType(MainWindow))
Public Property SelKlant As String
Get
Return DirectCast(GetValue(SelKlantProperty), String)
End Get
Set(value As String)
SetValue(SelKlantProperty, value)
End Set
End Property

我现在有大约 50 个这样的属性,而且我的代码变得非常快。我的 ClassDiagram 也充满了 Public Shared DependencyProperty 的字段 Public Property 的属性.

我想知道,有没有更简单或更好的方法来绑定(bind) View 和 ViewModel?大部分 Properties我用的是放 TextTextBoxes .

最佳答案

您不需要为 View 模型属性创建依赖项属性 - 常规属性就足够了。但是,如果要绑定(bind)到该属性,则必须使用依赖属性(例如,TextBox.Text 是依赖属性 - 如果不是,您将无法绑定(bind)到它)。你可以保持你的属性原样——只要确保你实现了 INotifyPropertyChanged .

依赖属性除了用于数据绑定(bind)之外还有其他用途,但我不会详细说明,因为它是一个非常大的主题,您可以在其他资源中找到。除此之外,您可以阅读更多关于如何实现 MVVM 模式 here .此页面还包含示例,您可以在其中看到 View 模型不需要定义任何依赖项属性。

关于WPF ViewModel 和 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22178588/

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