У меня есть простое окно, которое является контейнером для различных представлений. У меня есть DataTemplate, который показывает правильное представление в зависимости от того, какое свойство окна MainViewModel установлено.
<DataTemplate DataType="{x:Type VM:StartupViewModel}">
<AdornerDecorator>
<V:StartupView />
</AdornerDecorator>
</DataTemplate>
Что я хотел бы сделать для определенных представлений, изменить некоторые свойства в базовом окне, например WindowStyle, ResizeMode и т. Д., Что-то вроде триггеров, но для типов данных вместо значений свойств?
Как я мог сделать это?
редактирование:
После небольшого поиска в Google, я думаю, что хочу сделать что-то вроде этого:
<Window.Style>
<Style>
<Setter Property="Window.WindowStyle"
Value="SingleBorderWindow" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self} , Path=DataContext.MainViewModel}"
Value="{x:Type VM:StartupViewModel}">
<Setter Property="Window.WindowStyle"
Value="None" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Style>
Это ром, но не имеет никакого эффекта ...