C# WPF如何扩展边框宽度以填充DockPanel中的可用空间
我有一个自定义控件C# WPF如何扩展边框宽度以填充DockPanel中的可用空间,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,我有一个自定义控件按钮row,它最终将进入另一个控件 它非常简单,只有一个边框、标签和一个按钮 我需要这样做,使边界将扩大其宽度,以填补按钮所在的位置。 正如下图所示,这种情况不会发生: XAML可以在下面找到。我试过摆弄标签和边框的水平对齐,但它们只会重新调整大小以适应标签的文本内容 我知道存在着一些问题,问题和名称非常相似,但没有人需要做同样的事情,也没有人帮助我解决问题 我曾尝试使用StackPanel进行水平对齐,但它所做的只是使按钮靠近边框 如何使边框展开以填充可用空间 (按钮样
按钮row
,它最终将进入另一个控件
它非常简单,只有一个边框、标签和一个按钮
我需要这样做,使边界将扩大其宽度,以填补按钮所在的位置。
正如下图所示,这种情况不会发生:
XAML可以在下面找到。我试过摆弄标签和边框的水平对齐,但它们只会重新调整大小以适应标签的文本内容
我知道存在着一些问题,问题和名称非常相似,但没有人需要做同样的事情,也没有人帮助我解决问题
我曾尝试使用StackPanel进行水平对齐,但它所做的只是使按钮靠近边框
如何使边框展开以填充可用空间
(按钮样式不影响其对齐或任何其他相关属性)A
DockPanel
不是用于此要求的正确面板。。。与堆叠面板类似,它不会调整其内容的大小。相反,只需使用常规的网格
(它也比DockPanel
使用更少的资源):
有关WPF中不同面板的更多信息,请参见MSDN页面
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border BorderBrush="#FFDADFE1" Background="#FFECF0F1" BorderThickness="1"
Height="20" Name="bdrFilter" VerticalAlignment="Top">
<Label Content="Filter..." FontStyle="Italic" Foreground="#FF6C7A89"
Height="20" Name="lblFilter" Padding="5,0" />
</Border>
<Button Grid.Column="1" Content="+" Height="20" HorizontalAlignment="Right"
Name="btnAddFilter" VerticalAlignment="Top" Width="20" Foreground="#FF6C7A89"
ForceCursor="True" BorderBrush="{x:Null}" />
</Grid>