我是 MVVM 新手,所以请原谅我的白痴。
我有一个包含 6 个自定义用户控件实例的网格。
用户Ctrl1, 用户Ctrl2, 用户Ctrl3, 用户Ctrl4, 等等..
我创建了一个名为“playerInfo”的 viewModel 类并设置了用户控件的数据上下文。
我的问题是如何在 View 模型中引用该名称。
我需要获取索引 ( userCtrl "4") 来引用我正在使用的第 3 方库中的列表。
听起来很奇怪,我不知道这是否违反了 MVVM 模式。
非常感谢!
最佳答案
替代解决方案(如果“引用列表的索引”等于 userCtrl# 号并且布局不太复杂):
- 创建
ObservableCollection<PlayerInfo> Players
View 模型中的属性。 - 输入
ItemsControl
进入您的 View 并绑定(bind)到Players
。如果你想自定义布局,可以更改其ItemsPanel
模板。 - 创建
DataTemplate
并设置其DataType
至{x:Type PlayerInfo}
。将您的用户控件放入其中并绑定(bind)到{Binding}
. - 当 View 模型中需要索引时,可以使用
Players.IndexOf
方法。
关于c# - MVVM WPF : Get usercontrol name from ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17506122/