C# 如何在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

我正在创建一个带有Ribbon的WPF应用程序,元素的大小都很奇怪。我希望两个文本框的宽度相同,但我也希望文本从左侧的同一点开始

理想情况下,这将在为
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控件的属性。我没有单独添加它。