C# 将Mahapps.Metro:IconPacks分配给代码隐藏中的按钮

C# 将Mahapps.Metro:IconPacks分配给代码隐藏中的按钮,c#,code-behind,mahapps.metro,C#,Code Behind,Mahapps.metro,我正在尝试将任何Mahapps.Metro.IconPacks中的图标分别分配给矩形和文本按钮 如果我想使用新的iconpack,我该如何做 实际上,我需要将Mahapps.Metro.IconPacks.PackIconModernKind转换为VisualBrush或canvas,或者我可以用来将其放置在按钮中的任何东西 感谢您的帮助 谢谢您可以将任何IconPack控件直接放置到按钮的内容或类似网格的容器中 Xaml方法 <Button Content="Test">

我正在尝试将任何Mahapps.Metro.IconPacks中的图标分别分配给矩形和文本按钮

如果我想使用新的iconpack,我该如何做

实际上,我需要将Mahapps.Metro.IconPacks.PackIconModernKind转换为VisualBrush或canvas,或者我可以用来将其放置在按钮中的任何东西

感谢您的帮助


谢谢

您可以将任何IconPack控件直接放置到按钮的内容或类似网格的容器中

Xaml方法

<Button Content="Test">
    <Button.ContentTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <iconPacks:PackIconMaterial Kind="Cookie"
                                            Margin="4 4 2 4"
                                            Width="24"
                                            Height="24"
                                            VerticalAlignment="Center" />
                <TextBlock Text="{Binding}"
                            Margin="2 4 4 4"
                            VerticalAlignment="Center" />
            </StackPanel>
        </DataTemplate>
    </Button.ContentTemplate>
</Button>

希望这能有所帮助。

您可以将任何IconPack控件直接放置到按钮的内容或类似网格的容器中

Xaml方法

<Button Content="Test">
    <Button.ContentTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <iconPacks:PackIconMaterial Kind="Cookie"
                                            Margin="4 4 2 4"
                                            Width="24"
                                            Height="24"
                                            VerticalAlignment="Center" />
                <TextBlock Text="{Binding}"
                            Margin="2 4 4 4"
                            VerticalAlignment="Center" />
            </StackPanel>
        </DataTemplate>
    </Button.ContentTemplate>
</Button>
希望这有帮助

var stackPanel = new StackPanel() { Orientation = Orientation.Horizontal };
var packIconMaterial = new PackIconMaterial()
{
    Kind = PackIconMaterialKind.Cookie,
    Margin = new Thickness(4, 4, 2, 4),
    Width = 24,
    Height = 24,
    VerticalAlignment = VerticalAlignment.Center
};
stackPanel.Children.Add(packIconMaterial);
var textBlock = new TextBlock()
{
    Text = "Test",
    Margin = new Thickness(2, 4, 4, 4),
    VerticalAlignment = VerticalAlignment.Center
};
stackPanel.Children.Add(textBlock);
this.TestButton.Content = stackPanel;