将 Mahapps.Metro:IconPacks 分配给后面代码中的按钮
Assign Mahapps.Metro:IconPacks to button in code behind
我正在尝试将任何 Mahapps.Metro.IconPacks 中的图标分配给矩形,分别分配给带有文本的按钮。
如果我想使用新的图标包,我该怎么做?
实际上我需要将 Mahapps.Metro.IconPacks.PackIconModernKind 转换为 VisualBrush 或 canvas 或任何我可以用来将其放入按钮中的东西。
感谢任何帮助!
谢谢
您可以将任何 IconPack 控件直接放置到按钮的内容或容器中,例如 Grid
。
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>
或
<Button>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Cookie"
Margin="4 4 2 4"
Width="24"
Height="24"
VerticalAlignment="Center" />
<TextBlock Text="Test"
Margin="2 4 4 4"
VerticalAlignment="Center" />
</StackPanel>
</Button>
Xaml 版本 2
的代码隐藏方式
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;
希望这对您有所帮助。
我正在尝试将任何 Mahapps.Metro.IconPacks 中的图标分配给矩形,分别分配给带有文本的按钮。
如果我想使用新的图标包,我该怎么做?
实际上我需要将 Mahapps.Metro.IconPacks.PackIconModernKind 转换为 VisualBrush 或 canvas 或任何我可以用来将其放入按钮中的东西。
感谢任何帮助!
谢谢
您可以将任何 IconPack 控件直接放置到按钮的内容或容器中,例如 Grid
。
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>
或
<Button>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Cookie"
Margin="4 4 2 4"
Width="24"
Height="24"
VerticalAlignment="Center" />
<TextBlock Text="Test"
Margin="2 4 4 4"
VerticalAlignment="Center" />
</StackPanel>
</Button>
Xaml 版本 2
的代码隐藏方式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;
希望这对您有所帮助。