如何以编程方式增加 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);
我有一个包含一个网格和一个扩展器的基本扩展器。 如何以编程方式修改扩展内容的宽度?我找了很多 但我没有找到任何有用的东西。 这是我的代码:
<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);