C# 如何在WPF功能区元素上获得统一的宽度?
我正在创建一个带有Ribbon的WPF应用程序,元素的大小都很奇怪。我希望两个文本框的宽度相同,但我也希望文本从左侧的同一点开始 理想情况下,这将在为C# 如何在WPF功能区元素上获得统一的宽度?,c#,wpf,xaml,wpf-controls,ribbon,C#,Wpf,Xaml,Wpf Controls,Ribbon,我正在创建一个带有Ribbon的WPF应用程序,元素的大小都很奇怪。我希望两个文本框的宽度相同,但我也希望文本从左侧的同一点开始 理想情况下,这将在为RibbonTextBox加载的标签和框本身之间增加空间。我如何才能做到这一点,使我得到一个统一的布局。所有文本均应以黑线开头,两个文本框均应以红线开头。至少我想把第一个文本框的结尾扩展到第二个文本框的结尾 您可以将RibbonTextBox的模板重新定义为如下内容: <Style TargetType="{x:Type rb:Rib
RibbonTextBox
加载的标签和框本身之间增加空间。我如何才能做到这一点,使我得到一个统一的布局。所有文本均应以黑线开头,两个文本框
均应以红线开头。至少我想把第一个文本框的结尾扩展到第二个文本框的结尾
您可以将RibbonTextBox
的模板重新定义为如下内容:
<Style TargetType="{x:Type rb:RibbonTextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type rb:RibbonTextBox}">
<Grid Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type rb:RibbonGroup}}}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Label}" />
<TextBox Grid.Column="1" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Text}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
可能会在标签和文本框周围用一个共享大小组包装一个网格。我认为这在ribbon控件中是允许的。也许您可以将文本框向右对齐?标签是ribbon控件的属性。我没有单独添加它。