如何以编程方式增加 wpf 扩展器内容的宽度?

How to increase width of a wpf expander content programmatically?

我有一个包含一个网格和一个扩展器的基本扩展器。 如何以编程方式修改扩展内容的宽度?我找了很多 但我没有找到任何有用的东西。 这是我的代码:

 <Expander Header="Test" ExpandDirection="Left" HorizontalAlignment="Right" Background="LightBlue" Collapsed="VerticalExpander_OnCollapsed" Expanded="VerticalExpander_OnExpanded">

    <Grid x:Name="Grid">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="2"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="2" Text="Lorem ipsum dolor sit"/>
            <GridSplitter Grid.Column="1" Width="5" ResizeBehavior="PreviousAndNext" ResizeDirection="Columns"/>
        </Grid>

   private void VerticalExpander_OnExpanded(object sender, RoutedEventArgs e)
    {
        this.Grid.ColumnDefinitions[0].Width = new GridLength(300, GridUnitType.Pixel);
        this.Grid.ColumnDefinitions[2].Width = new GridLength(300, GridUnitType.Pixel);
    }

    private void VerticalExpander_OnCollapsed(object sender, RoutedEventArgs e)
    {

    }

结果:

展开时,我想以编程方式更改内容宽度。 提前致谢!

如果要将GridSplitter向左移动,可以增加第三列的Width,例如:

this.Grid.ColumnDefinitions[2].Width = new GridLength(300, GridUnitType.Pixel);