gpt4 book ai didi

.net - 如何在整个 WPF 应用程序中重用样式?

转载 作者:行者123 更新时间:2023-12-04 23:28:22 24 4
gpt4 key购买 nike

我想在我的应用程序的几个地方使用下面的代码片段(从 https://stackoverflow.com/a/3675110/782880 中找到)。我如何将它放在一个地方并在各种 XAML 文件中为特定列表框(按键?)引用它,而不是到处复制/粘贴?

<ListBox....> 
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="2" SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background"
Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.Resources>
</ListBox>

最佳答案

您可以将其放入适当级别的 Resources 集合中。例如,如果你想要应用范围,那么把它放在App.xaml .

例如。

<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
>

<Application.Resources>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
...
</Setter>
</Style>
</Application.Resources>

</Application>

您可以提供您的资源键,然后使用适当的键设置适当的 Style 属性,例如用 key 定义你的风格:
<Style x:Key="MyStyle" TargetType="ListBoxItem">

并按键使用资源:
<ListBox x:Name="lstItems" ItemContainerStyle="{StaticResource MyStyle}">

关于.net - 如何在整个 WPF 应用程序中重用样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8850487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com