我正在尝试在RibbonApplicationMenu的顶层设置文本(尝试在其中获取类似于Word或Outlook的单词“File”)。似乎Microsoft.Windows.Controls.Ribbon.RibbonApplicationMenu http://msdn.microsoft.com/en-us/library/microsoft.windows.controls.ribbon.ribbonapplicationmenu.aspx支持SmallImageSource,但没有text属性。设置Label属性不适用于此问题。

xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
<ribbon:RibbonApplicationMenu Label="File"> <!--doesn't set the label -->

</ribbon:RibbonApplicationMenu>

目的是使单词"file"出现在下面的圆圈区域中。

最佳答案

对我而言,最简单的解决方案是在内部插入DrawingImageGlyphRun。在separate post上询问如何获取GlyphRun的AdvanceWidths和GlyphIndicies。结果如下

<ribbon:RibbonApplicationMenu.SmallImageSource>
    <DrawingImage>
        <DrawingImage.Drawing>
            <GlyphRunDrawing ForegroundBrush="White">
                <GlyphRunDrawing.GlyphRun>
                    <GlyphRun
                            CaretStops="{x:Null}"
                            ClusterMap="{x:Null}"
                            IsSideways="False"
                            GlyphOffsets="{x:Null}"
                            GlyphIndices="41 76 79 72"
                            FontRenderingEmSize="12"
                            DeviceFontName="{x:Null}"
                            AdvanceWidths="5.859375 2.90625 2.90625 6.275390625">
                        <GlyphRun.GlyphTypeface>
                            <GlyphTypeface FontUri="C:\WINDOWS\Fonts\SEGOEUI.TTF"/>
                        </GlyphRun.GlyphTypeface>
                    </GlyphRun>
                </GlyphRunDrawing.GlyphRun>
            </GlyphRunDrawing>
        </DrawingImage.Drawing>
    </DrawingImage>
</ribbon:RibbonApplicationMenu.SmallImageSource>

产生的功能区:

关于wpf - 如何在RibbonApplicationMenu的开头设置文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6698191/

10-10 21:22