如何根据我的子视图模型的类型切换Telerik ribbonview元素?

时间:2013-01-30 11:11:42

标签: wpf mvvm telerik

我正在为我的WPF应用程序使用MVVM模式。如果是“home”视图模型,它控制着我的应用程序主窗口的布局,我有一个ChildViewModel属性。这包含一个视图模型,可以根据用户的操作进行切换。当他们选择菜单项时,子视图模型切换并且屏幕的主要区域(它是Outlook样式)相应地切换。

我使用ContentControl和DataTemplate这样做:(我只是在这里显示一个可嵌入的视图以保持简短)。

<ContentControl Grid.Row="1" Grid.Column="1" Margin="3"
                Content="{Binding ChildViewModel}">
    <ContentControl.Resources>
        <DataTemplate DataType="{x:Type vm:VersionsViewModel}">
            <Embeddable:VersionsView />
        </DataTemplate>
    </ContentControl.Resources>
</ContentControl>

我还想使用Telerik RadRibbonView控件在我的主窗口中添加一个功能区。我希望这有一些固定的标签和按钮始终可见。此外,我想根据子视图模型的类型添加和删除现有选项卡中的整个选项卡和按钮。我希望在视图中以类似于上面内容控件的方式完成此操作。

这可能吗?我已经尝试了很多东西但到目前为止无处可去。我知道我可以通过创建一个巨大的“超级功能区”和绑定可见性属性来做到这一点,但这似乎很笨拙。我也可以有多个色带,每个色带包含常用控件,但这会导致维护问题。

1 个答案:

答案 0 :(得分:1)

最后我采用了“超级丝带”的方式,因为我找不到任何其他方式。