【发布时间】:2020-12-11 17:41:32
【问题描述】:
我试图找到一种方法,以编程方式从材料设计块显示图标到我的按钮,我取得了一些进展,但我认为最重要的问题是我的 XAML 中没有这行 "Style="{StaticResource MaterialDesignFloatingActionMiniAccentButton}" C#代码,我不知道如何实现。
这是我在 XAML 中的按钮:
<Button
x:Name="AddRowInHexConverter"
Grid.Row="0"
Grid.Column="4"
Width="20"
Height="20"
Margin="0,0,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
Background="#FF2196F3"
BorderBrush="#FF2196F3"
Click="AddRowInHexConverter_Click"
Foreground="White"
Style="{StaticResource MaterialDesignFloatingActionMiniAccentButton}">
<materialDesign:PackIcon
Width="20"
Height="20"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Kind="Add" />
<Button.Resources>
<Style TargetType="Border">
<Setter Property="CornerRadius" Value="5" />
</Style>
</Button.Resources>
</Button>
看起来像这样:
这是我在 C# 中的按钮:
Button deleteRow = new Button();
deleteRow.Width = 20;
deleteRow.Height = 20;
deleteRow.HorizontalAlignment = HorizontalAlignment.Center;
deleteRow.VerticalAlignment = VerticalAlignment.Bottom;
deleteRow.Background = (SolidColorBrush)new BrushConverter().ConvertFrom("#FF2196F3");
deleteRow.Foreground = new SolidColorBrush(Colors.White);
deleteRow.BorderBrush = (SolidColorBrush)new BrushConverter().ConvertFrom("#FF2196F3");
deleteRow.Click += DeleteRowFromGrid_Click;
PackIcon icon = new PackIcon();
icon.Kind = PackIconKind.Minus;
icon.Foreground = new SolidColorBrush(Colors.White);
icon.Height = 20;
icon.Width = 20;
icon.HorizontalAlignment = HorizontalAlignment.Center;
icon.VerticalAlignment = VerticalAlignment.Center;
deleteRow.Content = icon;
看起来像这样:
我也这样做了,但似乎不起作用:
Style = Resources["MaterialDesignFloatingActionMiniAccentButton"] as Style
【问题讨论】:
-
这能回答你的问题吗? How to set the style programmatically
-
我不工作.. 我是这样做的:Style = Resources["MaterialDesignFloatingActionMiniAccentButton"] as Style
标签: c# xaml material-design