Измените ControlTemplate ContentControl в представлении, используя MVVM - PullRequest
1 голос
/ 21 июля 2010

У меня есть два ресурса Dock и Undock в моем View, который является UserControl (Dock.xaml), ниже приведен код xaml

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

В DockViewModel есть свойство, называемое IsDocked, если оно истинно, мне нужно применить Dock, иначе шаблон открепления

Как изменить шаблон в представлении, используя ViewModel.

1 Ответ

3 голосов
/ 21 июля 2010
<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>
...