wpf RibbonMenuButton项目

时间:2015-10-21 09:52:48

标签: .net wpf xaml

我必须使用RibbonMenuButton,但是在点击它时我需要,结果如下:

enter image description here

换句话说,我需要打开一个网格,里面有一些按钮。我不知道该怎么做。 到目前为止,这是我的代码,

<RibbonMenuButton Label="{Binding AppsLabel, Source={StaticResource ribbonStrings}}"
      LargeImageSource="{x:Static Member=util:ImageUtil.CGSnapToGridIcon}" x:Name="zzz" >     
    <Grid Height="auto" Width="auto">
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"></RowDefinition>
            <RowDefinition Height="auto"></RowDefinition>
            <RowDefinition Height="auto"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="auto"></ColumnDefinition>
            <ColumnDefinition Width="auto"></ColumnDefinition>
            <ColumnDefinition Width="auto"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <RibbonButton Grid.Row="0" Grid.Column="0" LargeImageSource="{}" Label="Reporting"></RibbonButton>
        <RibbonButton Grid.Row="0" Grid.Column="1" LargeImageSource="{}" Label="Discovery"></RibbonButton>
        <RibbonButton Grid.Row="0" Grid.Column="2" LargeImageSource="{}" Label="Web"></RibbonButton>
        <RibbonSeparator Grid.Row="1" Grid.ColumnSpan="3"></RibbonSeparator>
        <RibbonButton Grid.Row="2" Grid.Column="0" LargeImageSource="{}" Label="Content"></RibbonButton>
        <RibbonButton Grid.Row="2" Grid.Column="1" LargeImageSource="{}" Label="Delete"></RibbonButton>
    </Grid>
</RibbonMenuButton>

但是当内容弹出并且左侧显示灰色线(用于菜单项)时,整个网格会突出显示。我需要摆脱他们。 请帮忙。

1 个答案:

答案 0 :(得分:1)

我已经找到了如何做到这一点,这是解决方案:

我已将网格放在<ItemsControl>内,之后我按照以下方式应用了样式:

<Style TargetType="{x:Type ItemsControl}">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type RibbonMenuItem}">
                                <ContentPresenter Content="{TemplateBinding Header}"/>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>

这只会使网格(或<RibbonMenuButton>内的任何内容)无法选择,因此内容显示为普通控件,但不显示为RibbonMenuItem。