Ответ 1
Не уверен, что вы пытаетесь выполнить, но я думаю, что концепт Grid
должен быть частью Expander.Content
, будет ли это работать для вас?
<Expander Header="Test" ExpandDirection="Right" HorizontalAlignment="Left" Background="LightBlue">
<Expander.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Lorem ipsum dolor sit"/>
<GridSplitter Grid.Column="1" Width="5" ResizeBehavior="PreviousAndCurrent" ResizeDirection="Columns"/>
</Grid>
</Expander.Content>
</Expander>
Изменить: Удалено все триггеры из первого столбца, поскольку это казалось ненужным.
Также: для вертикальной работы GridSplitter HorizontalAlignment
должен быть установлен на Stretch
, иначе он будет иметь ширину нуля по умолчанию (конечно, все остальные, которые ориентированы на ориентацию, должны быть адаптированы, но это просто)
HorizontalAlignment - это свойство доступа Microsoft.NET для того, что на самом деле является свойством зависимостей. Это конкретное свойство зависимостей довольно часто имеет свое кажущееся "значение по умолчанию", установленное по-разному в элементах подкласса, особенно в элементах управления. [...] Например, кажущийся "по умолчанию" для параметра "Горизонтальное выравнивание" для элемента "Ярлык" будет левым, хотя "Ярла" наследует "Горизонтальное выравнивание" непосредственно из FrameworkElement. Это связано с тем, что это значение было reset в стиле по умолчанию Label, в шаблоне управления стилем.