WPF。在后面的代码中使用 xaml 中的按钮样式

WPF. Use button style which is in xaml in code behind

我在代码后面创建按钮,现在必须使用 xaml 中的样式,如何在 C# 中为我的按钮调用该样式?

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            this.Loaded += OnLoaded;
        }

        private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
        {

           var button1 = new Button();

            TestPanel.Children.Add(button1);
        }
    }
}

风格是<Style x:Key="ButtonStyle" TargetType="{x:Type Button}">

直接设置:

Style myStyle = (Style)Resources["ButtonStyle"];
button1.Style = myStyle;

请注意,来自 Resources 字典的项目必须转换为它们的实际类型。

也就是说,您不应该在代码隐藏中创建控件。在 99.99% 的情况下,您应该在 XAML 中执行此操作并在那里分配样式。