【问题标题】:Change ControlTemplate of ContentControl in View using MVVM使用 MVVM 在视图中更改 ContentControl 的 ControlTemplate
【发布时间】:2010-07-21 06:10:54
【问题描述】:

我的视图中有两个资源 Dock 和 Undock,这是一个 UserControl(Dock.xaml),以下是 xaml 代码

<Grid>
    <ContentControl Template="{StaticResource Dock}"/>   
</Grid>

在 DockViewModel 中有一个名为 IsDocked 的属性,如果它是真的我需要应用 Dock 否则 Undock 模板

如何使用 ViewModel 更改视图中的模板。

【问题讨论】:

    标签: wpf mvvm controltemplate


    【解决方案1】:
    <ContentControl>
            <ContentControl.Style>
                <Style TargetType="ContentControl">
                    <Setter Property="ContentControl.Template"  Value="{StaticResource Dock}"/>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding IsDocked}" Value="False">
                            <Setter Property="ContentControl.Template"  Value="{StaticResource UnDock}"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </ContentControl.Style>
        </ContentControl>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 2014-04-23
      • 2012-03-17
      • 1970-01-01
      相关资源
      最近更新 更多