gpt4 book ai didi

c# - MahApps PasswordBox 不显示清除按钮

转载 作者:行者123 更新时间:2023-11-30 17:41:52 26 4
gpt4 key购买 nike

我正在使用最新的 MahApps WPF 工具包,但在将我自己的样式应用到它的控件(准确地说是 PasswordBox)上时遇到了一些麻烦。
我在一个单独的 .xaml 文件中定义了样式,该文件包含在 App.xaml 文件中,因此它在所有 .xaml 文件中都是全局可见的。但是当我使用键下指定的样式时,MahApps ClearTextButton 拒绝出现在控件上。

这是我的风格:

<Style x:Key="DefaultPasswordBoxStyle"
TargetType="{x:Type PasswordBox}"
BasedOn="{StaticResource ResourceKey={x:Type PasswordBox}}">
<Setter Property="HorizontalContentAlignment">
<Setter.Value>Center</Setter.Value>
</Setter>
<Setter Property="FontSize">
<Setter.Value>16</Setter.Value>
</Setter>
</Style>

及其在单独的 .xaml 文件中的用法:

<PasswordBox Margin="{StaticResource ControlMargin}"
controls:TextBoxHelper.ClearTextButton="True"
Style="{StaticResource DefaultPasswordBoxStyle}"
Width="200" />

如果我删除 Style 属性,按钮会按预期显示,但我也希望能够应用我自己的样式。它实际上在 XAML 设计器中可见,这很有趣。我也尝试了 DynamicResource,但结果相同。

最佳答案

因此,为了继续最初的评论,您将 Type 设置为资源,而不是指向键名。因此,一旦您为新的自定义模板提供了一个正确的路径来找到原始样式模板作为 BasedOn 条件以继承 MahApps 样式的其余部分,那么问题就解决了。

VS 强调/不定位资源的东西,好吧,我一直遇到这个问题,我有点相信这是 VS 的一个缺陷,尽管我也不介意知道如何清除它。这很烦人,因为有时它会在 IDE 中出现这些错误,有时不会,这很有趣。

与此同时,既然您的模板引用了正确的模板作为其基础,并正确引用了资源字典,那么世界上一切都会好起来的。希望这对您有所帮助,干杯!

关于c# - MahApps PasswordBox 不显示清除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32384113/

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