在 C# 中使用来自 XAML 的样式

Use Style From XAML In C#

我的 Window.Resources 中有一个样式,我想在我的后台代码中使用它:

XAML :

<Window.Resources>
    <Style x:Key="ListBoxItemStyle1" TargetType="ListBoxItem">
        <Setter Property="BorderBrush" Value="Red"/>
        <Setter Property="BorderThickness" Value="1"/>
    </Style>
</Window.Resources>

C#:

ListBoxItem lbi = new ListBoxItem();
lbi.Style = (Style)Application.Current.Resources["ListBoxItemStyle1"];
.
.
.
MyListBox.Items.Add(lbi);

但这不起作用,有什么解决办法吗?

如果您使用FindResourceTryFindResource方法,则无论您是在window中还是全局定义它,都会找到Style

lbi.Style = TryFindResource("ListBoxItemStyle1") as Style;