Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF中的RibbonButton内添加文本框_C#_Wpf_Xaml - Fatal编程技术网

C# 在WPF中的RibbonButton内添加文本框

C# 在WPF中的RibbonButton内添加文本框,c#,wpf,xaml,C#,Wpf,Xaml,我正在创建一个WPF。我正在WPF中使用一个功能区。有没有办法创建一个里面有文本块的RibbonButton?这是我正在使用的代码。我想在BaggerActiviebtn中放置一个文本块 <Ribbon x:Name="RibbonWin" SelectedIndex="0" Margin="81,23,-81,77" Grid.RowSpan="2"> <RibbonTab Header="Home"

我正在创建一个WPF。我正在WPF中使用一个功能区。有没有办法创建一个里面有文本块的RibbonButton?这是我正在使用的代码。我想在BaggerActiviebtn中放置一个文本块

<Ribbon x:Name="RibbonWin"
        SelectedIndex="0"
        Margin="81,23,-81,77"
        Grid.RowSpan="2">
  <RibbonTab Header="Home"
             KeyTip="H">
    <!-- Home  group-->
    <RibbonGroup x:Name="MenuGroup">
      <RibbonButton Name="baggerActiveBtn"
                    Height="67"
                    Margin="368,36,86,0"
                    MouseOverBorderBrush="#FFFFC500"
                    VerticalAlignment="Top"
                    BorderBrush="Red"
                    Click="test123">

        <RibbonButton.MouseOverBackground>
          <LinearGradientBrush EndPoint="0.5,1"
                               StartPoint="0.5,0">
            <GradientStop Color="#FFFFC500"
                          Offset="0" />
            <GradientStop Color="White"
                          Offset="1" />
          </LinearGradientBrush>
        </RibbonButton.MouseOverBackground>

      </RibbonButton>
    </RibbonGroup>
  </RibbonTab>
</Ribbon>
您需要编辑按钮的模板

首先,在XAML文件中包含以下xmlns:

右键单击按钮,编辑模板->编辑副本。。。 这是您应该使用的模板的一个片段:

...<Border x:Name="OuterBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="{TemplateBinding CornerRadius}" SnapsToDevicePixels="True">
            <Border x:Name="InnerBorder" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" Padding="{TemplateBinding Padding}">
                <StackPanel x:Name="StackPanel">
                    <Image x:Name="PART_Image" RenderOptions.BitmapScalingMode="NearestNeighbor" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Height="32" Margin="{DynamicResource {ComponentResourceKey ResourceId=LargeImageMargin, TypeInTargetAssembly={x:Type Ribbon}}}" Source="{TemplateBinding LargeImageSource}" VerticalAlignment="Center" Width="32"/>
                    <Grid x:Name="Grid" HorizontalAlignment="Center" VerticalAlignment="Center">
                        <RibbonTwoLineText x:Name="TwoLineText" HorizontalAlignment="Center" LineStackingStrategy="BlockLineHeight" LineHeight="13" Margin="1,1,1,0" TextAlignment="Center" Text="{TemplateBinding Label}" VerticalAlignment="Top"/>
                    </Grid>
                </StackPanel>
            </Border>
        </Border>...
您应该将TextBlock放置在StackPanel或网格中,以使其符合您的要求。 使用此代码,您可以插入任何您喜欢的控件

这至少应该指导你!
祝你好运。

每次选择“编辑副本”时,我都会收到一个错误,显示复制模板失败。我尝试了每一个选项和选项组合,但不断出现错误。RibbonButtons可以编辑吗?我的错,忘了提到应该在xaml中包含这个xmlns:xmlns:ribbon=clr命名空间:System.Windows.Controls.ribbon.Primitives;程序集=System.Windows.Controls.Ribbon
...<Border x:Name="OuterBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="{TemplateBinding CornerRadius}" SnapsToDevicePixels="True">
            <Border x:Name="InnerBorder" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" Padding="{TemplateBinding Padding}">
                <StackPanel x:Name="StackPanel">
                    <Image x:Name="PART_Image" RenderOptions.BitmapScalingMode="NearestNeighbor" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Height="32" Margin="{DynamicResource {ComponentResourceKey ResourceId=LargeImageMargin, TypeInTargetAssembly={x:Type Ribbon}}}" Source="{TemplateBinding LargeImageSource}" VerticalAlignment="Center" Width="32"/>
                    <Grid x:Name="Grid" HorizontalAlignment="Center" VerticalAlignment="Center">
                        <RibbonTwoLineText x:Name="TwoLineText" HorizontalAlignment="Center" LineStackingStrategy="BlockLineHeight" LineHeight="13" Margin="1,1,1,0" TextAlignment="Center" Text="{TemplateBinding Label}" VerticalAlignment="Top"/>
                    </Grid>
                </StackPanel>
            </Border>
        </Border>...