我想让扩展器头中的红色按钮正确停靠。如何做到这一点?x1c 0d1x
<StackPanel Orientation="Vertical" x:Name="spTest" Margin="10">
<Border BorderBrush="Black" BorderThickness="1">
<Expander Margin="5,0,5,0">
<Expander.Header>
<Grid Margin="5,0,0,0" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="40"/>
</Grid.ColumnDefinitions>
<TextBlock Text="TEXT1 1231521312" Grid.Column="0" FontSize="18" Foreground="Black" VerticalAlignment="Center" HorizontalAlignment="Stretch"/>
<TextBlock Grid.Column="1" FontSize="18" FontStyle="Italic" Margin="10,0,10,0" Foreground="Black" VerticalAlignment="Center" Text="Text2"/>
<Button x:Name="btnRemove" Grid.Column="2" Width="40" Height="40" Background="#F8CECC" Content="X" FontWeight="Normal" FontSize="18" BorderBrush="#B95753"/>
</Grid>
</Expander.Header>
</Expander>
</Border>
</StackPanel>
谢谢你!
1条答案
按热度按时间mzsu5hc01#
这个问题来自于默认模板中用于标头的
ContentPresenter
。ContentPresenter
的HorizontalAlignment
设置为不为Stretch
。要更改它,您可以尝试将Grid
的HorizontalAlignment
绑定到ContentPresenter
的HorizontalAlignment
。另一种方法是设置/绑定
Grid.Width
,它可以处理嵌套的Expander
。另一种方法是覆盖
Expander
的默认模板,参见Expander Styles and Templates。