【问题标题】:Change ViewModel when selecting Ribbon Tab选择功能区选项卡时更改 ViewModel
【发布时间】:2011-07-03 12:32:04
【问题描述】:

我是 WPF 和 MVVM 领域的绝对新手。但我所知道的一点点让我想要更深入地挖掘。听起来很刺激!

我正在使用来自http://fluent.codeplex.com/ 的流畅功能区控件。每个功能区选项卡都有一个关联的 View 和一个 ViewModel。我使用 SelectedTabChanged 事件进行此更改,该事件在选择选项卡时触发。 SelectionChangedEventArgs 的 AdditionalItems 集合具有新选项卡的名称,因此我可以在类后面的代码中使用它来完成它。

我想知道在不实现任何代码的情况下这是否可行。我试图附加一个依赖对象,以便可以将事件作为命令附加到视图模型中。但这在最后一个实例中失败了,因为 Fluent Ribbon 似乎不是从 DepedencyObject 派生的。

提前感谢您的想法和观点。

【问题讨论】:

    标签: c# wpf mvvm


    【解决方案1】:

    您是在运行时动态添加选项卡,还是在 xaml 中定义它们?

    如果您在 xaml 中定义它们,您需要做的就是为您的主窗口创建一个主视图模型,其中包含不同选项卡的视图模型实例。然后这些应该作为属性公开,然后您可以将每个选项卡的数据上下文绑定到这些属性。

    如果功能区上有“选定项目”、“选定选项卡”或某些此类属性,如果您需要知道选择了哪个选项卡,可以将其绑定到主虚拟机中的“当前选项卡”属性。

    【讨论】:

    • 感谢您的回复和建议。我在设计时通过 xaml 添加选项卡。所以我想你的建议是可能的。我会试试看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多