【问题标题】:MVVM binding nested user controlsMVVM 绑定嵌套用户控件
【发布时间】:2012-12-15 19:43:46
【问题描述】:

我有 MainViewModel,其中包含选项卡视图模型的集合。每个选项卡可以是不同类型的视图模型(不同的视图)。当用户添加新标签时,标签视图的正确类型被识别(基于视图模型),但它根本没有绑定。例如,一个视图模型包含 GridView,其中 itemsSource 设置为集合,但如果我在该集合的 get 属性上设置断点,它永远不会被命中。 (但是当我实例化此视图模型时,我将此集合设置为新的 ObservableCollection,因此会触发 NotifyPropertyChanged 事件) - 所以我认为嵌套用户控件(视图模型)的数据上下文设置错误

【问题讨论】:

  • 这不是问题。不过,我的建议是查看 Visual Studio 输出窗口。如果有任何绑定错误,您会在那里找到它们。另外,如果您期望一些答案,请发布一些 XAML 和一些代码

标签: wpf mvvm binding


【解决方案1】:

通常在 MVVM 模型中,您使用数据模板绑定数据,该模板将您的视图模型对齐为数据类型,将视图对齐为您指定的视图。 MVVM 通常遵循视图模型作为表示,视图模型作为数据,并且通常与 XAML 中的数据模板绑定,通常在 app.xaml 或专门创建的 MainWindowResources.xaml 文件中,用于类型和绑定的关系。

通常,当某些内容未正确绑定时,我经常发现因为视图已呈现但视图模型未绑定到它,因此数据不知道如何显示或更新。

EG:在常用的MSDN参考MVVM:http://archive.msdn.microsoft.com/mag200902MVVM/Release/ProjectReleases.aspx?ReleaseId=2026

<DataTemplate DataType="{x:Type vm:AllCustomersViewModel}">
<view:AllCustomersView />
</DataTemplate>

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2010-12-15
    相关资源
    最近更新 更多