如何将图标放入按钮(MahApps)

时间:2016-04-06 16:02:21

标签: wpf mahapps.metro

我想将MahApps库中的图标放入普通按钮。我这样试过:

<Button Height="20" Width="25" Background="Transparent" Foreground="White" Content="{StaticResource appbar_close}"/>

结尾如下:

那么如何在适当的位置将此图标集成到此按钮中?

5 个答案:

答案 0 :(得分:15)

您有2个选项。

首先你可以使用Icon rersources(MetroCircleButtonStyle示例)

<Button Width="50"
        Height="50"
        Style="{DynamicResource MetroCircleButtonStyle}">
    <Rectangle Width="20"
                Height="20"
                Fill="{Binding Path=Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Button}}}">
        <Rectangle.OpacityMask>
            <VisualBrush Stretch="Fill" Visual="{DynamicResource appbar_close}" />
        </Rectangle.OpacityMask>
    </Rectangle>
</Button>

和第二个新的Icon包

<Button Width="50"
        Height="50"
        Style="{DynamicResource MetroCircleButtonStyle}">
    <Controls:PackIconModern Width="20" Height="20" Kind="Close" />
</Button>

希望有所帮助。

答案 1 :(得分:3)

正如您在github example中看到的,他们在按钮中添加了矩形,然后使用 OpacityMask 属性。

<ToggleButton Width="50"
          Height="50"
          IsEnabled="False"
          Style="{DynamicResource MetroCircleToggleButtonStyle}">
<Rectangle Width="20"
           Height="20"
           Fill="{Binding Path=Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ToggleButton}}}">
    <Rectangle.OpacityMask>
        <VisualBrush Stretch="Fill"
                     Visual="{DynamicResource appbar_city}" />
    </Rectangle.OpacityMask>
</Rectangle>

Source

答案 2 :(得分:1)

您可以尝试以下内容......正如@ ganchito55

所建议的那样
<Button Width="25" Height="20">
  <Button.Content>
    <Rectangle Width="20" Height="20">
          <Rectangle.Fill>
            <VisualBrush Visual="{StaticResource appbar_close}" Stretch="None" />
          </Rectangle.Fill>
     </Rectangle>
 </Button.Content>
</Button>

答案 3 :(得分:0)

在我的应用程序中,我之前使用此代码创建了许多带图标的按钮:

 <Button Command="{Binding EditDetailCommand}" ToolTip="Edit" Style="{DynamicResource buttonstyle}">
                        <metro:PackIconModern Width="Auto" Height="Auto" Kind="Edit" />
                    </Button>

似乎不再使用最新的MahApps了?

我真的很喜欢简单的语法,因为我认为它足以填满我的xaml文件。

答案 4 :(得分:0)

我想让Icon只作为一个可点击的控件,这就是我最新的Mahapps版本的工作方式:

<Button Width="16"
        Height="16"
        Padding="0"
        HorizontalAlignment="Right"
        VerticalAlignment="Center"
        Click="HelpButton_Click"
        Style="{x:Null}"
        Background="Transparent"
        BorderThickness="0"
        >
    <Button.Content>
        <Icons:PackIconMaterial Kind="Help"
                                VerticalAlignment="Center"
                                HorizontalAlignment="Center" />
    </Button.Content>
</Button>

希望这有助于某人