Я столкнулся с странной проблемой...
Похоже, что изменение размеров столбцов Grid с помощью GridSplitter отключает (или иным образом деактивирует) триггер, определенный в столбце Grid.
Здесь моя настройка:
A Grid имеет 3 столбца, которые определяются следующим образом:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition>
<ColumnDefinition.Style>
<Style>
<Setter Property="ColumnDefinition.Width" Value="Auto"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=OpenItemViewModels.Count}" Value="0">
<Setter Property="ColumnDefinition.Width" Value="0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ColumnDefinition.Style>
</ColumnDefinition>
<ColumnDefinition>
<ColumnDefinition.Style>
<Style>
<Setter Property="ColumnDefinition.Width" Value="4*"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=OpenItemViewModels.Count}" Value="0">
<Setter Property="ColumnDefinition.Width" Value="0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ColumnDefinition.Style>
</ColumnDefinition>
</Grid.ColumnDefinitions>
Ожидается, что, когда в третьем столбце нет элементов, которые составляют ItemsSource для элемента управления, ширина будет назначена второму и третьему столбцам (соответственно, будет размещен элемент GridSplitter и элемент управления вспомогательными элементами).
Это хорошо работает, пока я не касаюсь Splitter (когда все вкладки вспомогательного элемента управления закрыты, остается только первый столбец).
Проблемы начинаются, если я перемещаю разделитель, тем самым эффективно изменяя соотношение между столбцами ## 0 и 2. В таком случае ширина этих столбцов не является reset, когда все элементы в правом элементе управления закрыты.
Я подозреваю, что это связано с тем, что GridSplitter "перегружает" мои определения в XAML.
Кто-нибудь может подтвердить или опровергнуть эту теорию и предложить, как решить эту проблему?