组合扩展器和网格(从右到左切换)
Combine expander and grid (switched right-to-left)
我想创建一个可调整大小的扩展器控件,如 Combine expander and grid (resizable expander) 中所述。此解决方案运行良好,但我需要将其水平翻转(扩展器向右对齐并向左扩展)。
为了做到这一点,我改变了所有我认为需要的东西,但我似乎无法让它工作:拖动时只有包含 GridSplitter 的列会调整大小。
这是我在 KAXAML 中尝试过的:
<Expander Header="Test" ExpandDirection="Left" HorizontalAlignment="Right" Background="LightBlue">
<Expander.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5" />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<GridSplitter Width="5" ResizeBehavior="CurrentAndNext" ResizeDirection="Columns"/>
<TextBlock Grid.Column="1" Text="Lorem ipsum dolor sit"/>
</Grid>
</Expander.Content>
最终目标是使扩展器的内容在展开后可以调整大小。
有什么想法吗?
如果我设置 Width="*"
而不是 Width="5"
,我可以使 GridSplitter 向左适当调整大小。
<Expander Header="Test" ExpandDirection="Left" HorizontalAlignment="Right" Background="LightBlue">
<Expander.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<GridSplitter Width="5" ResizeBehavior="CurrentAndNext" ResizeDirection="Columns" />
<TextBlock Grid.Column="1" Text="Lorem ipsum dolor sit"/>
</Grid>
</Expander.Content>
</Expander>
我想创建一个可调整大小的扩展器控件,如 Combine expander and grid (resizable expander) 中所述。此解决方案运行良好,但我需要将其水平翻转(扩展器向右对齐并向左扩展)。
为了做到这一点,我改变了所有我认为需要的东西,但我似乎无法让它工作:拖动时只有包含 GridSplitter 的列会调整大小。
这是我在 KAXAML 中尝试过的:
<Expander Header="Test" ExpandDirection="Left" HorizontalAlignment="Right" Background="LightBlue">
<Expander.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5" />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<GridSplitter Width="5" ResizeBehavior="CurrentAndNext" ResizeDirection="Columns"/>
<TextBlock Grid.Column="1" Text="Lorem ipsum dolor sit"/>
</Grid>
</Expander.Content>
最终目标是使扩展器的内容在展开后可以调整大小。
有什么想法吗?
如果我设置 Width="*"
而不是 Width="5"
,我可以使 GridSplitter 向左适当调整大小。
<Expander Header="Test" ExpandDirection="Left" HorizontalAlignment="Right" Background="LightBlue">
<Expander.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<GridSplitter Width="5" ResizeBehavior="CurrentAndNext" ResizeDirection="Columns" />
<TextBlock Grid.Column="1" Text="Lorem ipsum dolor sit"/>
</Grid>
</Expander.Content>
</Expander>