c# - 在 fluentribbon 按钮中设置 xaml 图标

标签 c# wpf xaml ribbon fluent-ribbon

我使用 fluentribbonmahapps对于我的 GUI,并希望在我的功能区中有一个带有图标的按钮。我想使用像 this 这样的 xaml 图标(不是文件)。所以我需要在 fluent:Button 中设置路径。我尝试了以下但它不起作用 - 按钮是 空白(没有文字和图标显示):

<fluent:Button Name="Test">
    <StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Center">
        <Path Width="40" Height="40" Stretch="Uniform" UseLayoutRounding="False" Fill="Black" Data="..."/>
        <TextBlock><Run Text="Test Button"/></TextBlock>
    </StackPanel>
</fluent:Button>

更新

完整代码如下:

<Controls:MetroWindow  x:Class="RibbonTestProj.View.RibbonTest"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
        xmlns:fluent="urn:fluent-ribbon"
        Title="Ribbon Test" Height="474" Width="849" MinHeight="300" MinWidth="400" >
    <Grid>
        <fluent:Ribbon CanMinimize="False" CanQuickAccessLocationChanging="False" AutomaticStateManagement="false"
                       x:Name="ribbon">
            <fluent:RibbonTabItem   x:Name="test1TabItem"
                                    Header="Test1"
                                    KeyTip="I">
                <fluent:RibbonGroupBox Header="Group1" Height="84" Width="248" TabIndex="0">
                    <fluent:Button Name="Test">
                        <StackPanel VerticalAlignment="Stretch"
                                HorizontalAlignment="Center">
                            <Path Width="40"
                                Height="40"
                                Stretch="Uniform"
                                Fill="Black"
                                Data="M 10,100 C 10,300 300,-200 300,100" />
                            <TextBlock><Run Text="Test Button" /></TextBlock>
                        </StackPanel>
                    </fluent:Button>
                </fluent:RibbonGroupBox>
                <fluent:RibbonGroupBox Header="Group2" VerticalAlignment="Stretch" Height="84" Width="98" TabIndex="1">
                </fluent:RibbonGroupBox>
            </fluent:RibbonTabItem>
            <fluent:RibbonTabItem   x:Name="test2TabItem"
                                    Header="Test2"
                                    KeyTip="O">
            </fluent:RibbonTabItem>
        </fluent:Ribbon>
    </Grid>
</Controls:MetroWindow>

这是它的样子(按钮在那里,我可以点击它但没有文本也没有图标)

enter image description here

最佳答案

抱歉回复晚了。我花了一些时间来运行库。看来你可以设置 LargeIcon

<fluent:Button Name="Test">
    <fluent:Button.LargeIcon>
        <Path Width="40"
                Height="40"
                Stretch="Uniform"
                Fill="Black"
                Data="M 10,100 C 10,300 300,-200 300,100" />
    </fluent:Button.LargeIcon>
    Test Button 1
</fluent:Button>

不要忘记:您始终可以提取控件默认模板。您可以查看控件是如何在内部构建的。 How to Extract Default Control Template In Visual Studio?

关于c# - 在 fluentribbon 按钮中设置 xaml 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40585770/

相关文章:

c# - 加载由 Roslyn 编译器生成的程序集

javascript - AJAX post 请求报告失败,但实际上成功

c# - 无法通过 FieldInfo 从 xaml 模板访问字段

c# - 如何在 ListView 的 GridViewColumn 中获得可点击的超链接列表?

c# - 是什么导致 "The type or namespace name ' UI' does not exist in the namespace"错误?

javascript - 将值从 ViewModel 传递到 JavaScript

c# - CsvHelper 未按预期写入文件

c# - 下面两个 ObservableCollections 的功能是否相同?

c# - 将 MahApps 图标与 ContextMenu 结合使用

c# - 如何访问 Windows 8.1 商店应用程序中子部分内的控件?在可视化树中搜索不起作用