mvvm - 如何在 ViewModel (MVVM) 中获取控件的句柄

标签 mvvm

我是 MVVM 的新手,在以下情况下需要帮助。

我在 View 上添加了一个堆栈面板,现在我必须通过 viewmodel 向这个堆栈面板动态添加一些控件。为此,我需要在我的 View 模型中处理堆栈面板。谁能指导我如何在我的 View 模型中访问堆栈面板。

我在其他博客中读到它可以通过使用 Dependency 属性来完成。但我仍然无法找到解决这个问题的方法。

最佳答案

首先要注意几点。 MVVM 模式中 ViewModel 的目的是提供与 View 的分离。因此,您的 ViewModel 应该不了解 View 本身,也不了解 View 中包含的控件。其次,您应该尝试做的是让您的 View 绑定(bind)到您的 ViewModel 的一个属性(理解您的 ViewModel 充当您的 View 的 DataContext)。通常,您会将控件的 ItemsSource 属性绑定(bind)到 ViewModel 中的某个集合。但是,您会注意到 StackPanel 没有实现 ItemsSource 依赖项属性。相反,使用 ItemsControl 代替 StackPanel。我建议对 MVVM 模式和绑定(bind)机制进行一些额外的阅读,以进一步澄清。

关于mvvm - 如何在 ViewModel (MVVM) 中获取控件的句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13977481/

相关文章:

c# - MVVM 根据 ComboBox 所选项目加载 View

wpf - 如何在 MVVM 中单击按钮时调用用户控件的方法。我的用户控件使用 Dispatcher Helper 显示任务进度

wpf - ViewModel/View 关系和验证

c# - MVVM 结构 : Where does sending a file to a server go in MVVM?

c# - 有没有在 XAML 中整合类似的数据绑定(bind)和/或触发器?

c# - CallMethodAction 绑定(bind)到 Button 失败

vb.net - 小电话项目中的Prism MVVM不能正常工作...?

c# - 如何创建具有只能具有特定值的属性的对象

c# - 根据通过 Internet 接收的 Windows Phone 数据显示图像

.net - 设计模式下的XamlParseExceptions-使设计模式无用