gpt4 book ai didi

wpf - 仅将样式应用于 WPF 中的非嵌套控件

转载 作者:行者123 更新时间:2023-12-01 01:12:38 24 4
gpt4 key购买 nike

在 WPF 中,我对某些控件的默认样式不满意,例如 <Button />默认情况下,它的尺寸与 native Win32 按钮的尺寸不同。幸运的是,通过应用 MinWidth 和 Margin 属性很容易修复。

而不是手动将这些属性应用于每个 <Button />在 XAML 中,我将它们设置为我的 App.xaml 中的样式文件的 ResourceDictionary ,像这样:

<Style TargetType="Button">
<Setter Property="Margin" Value="4" />
<Setter Property="MinWidth" Value="73" />
</Style>

但是,这意味着 UI 中的所有按钮现在都具有这种样式,例如嵌套在 <DatePicker /> 中的按钮甚至 <MenuItem /> ,使 UI 变得更糟。

我知道我可以添加 x:Key="b"<Style />然后将我的 XAML 更改为 <Button Style={StaticResource b} />但这似乎与在每个控件实例上手动设置属性一样麻烦。

有没有办法只将样式应用于我的控件而不是嵌套在其他 UI 组件中的控件?即我想要我所有的 <Button />我自己的 XAML 中的实例具有相同的样式,但不是内置 WPF 控件或任何第三方库中的按钮。

最佳答案

您可以制作自己的按钮类型并在其上应用样式:

public class MyButton: Button {}

...

<Style TargetType="yourNamespace:MyButton">
<Setter Property="Margin" Value="4" />
<Setter Property="MinWidth" Value="73" />
</Style>

关于wpf - 仅将样式应用于 WPF 中的非嵌套控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32172051/

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