如何从 MaterialDesignXamlToolkit 中删除 ComboBox 控件中的装饰器可见性?

Posted

技术标签:

【中文标题】如何从 MaterialDesignXamlToolkit 中删除 ComboBox 控件中的装饰器可见性?【英文标题】:How to remove the decorator visibility within the ComboBox control from MaterialDesignXamlToolkit? 【发布时间】:2021-06-04 14:23:57 【问题描述】:

如何从MaterialDesignXamlToolkit 中删除ComboBox 控件中的装饰器可见性?

例子:我想从中得到:

到这里:

我尝试将文本字段装饰可见性设置为隐藏:

materialDesign:TextFieldAssist.DecorationVisibility="Hidden"

但是,这不会删除下划线装饰。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您在ComboBox 中看到了两种不同的装饰。

有一个Underline可以使用这个附加属性隐藏不同的效果:

materialDesign:TextFieldAssist.DecorationVisibility="Hidden"

您可以在default control style on GitHub 中看到这条下划线。

ComboBox 有一个不受附加属性影响的border on the bottom。

<Setter Property="BorderThickness" Value="0 0 0 1"/>

由于您已经停用了下划线,您可能想要删除边框。最简单的方法是将BorderThickness 完全设置在您的ComboBox 上。

<ComboBox materialDesign:TextFieldAssist.DecorationVisibility="Hidden"
          BorderThickness="0">

如果您愿意,当然可以将其移出为可重复使用的样式。

<Style x:Key="MyComboBoxStyle" TargetType="x:Type ComboBox" BasedOn="StaticResource x:Type ComboBox">
   <Setter Property="materialDesign:TextFieldAssist.DecorationVisibility" Value="Hidden"/>
   <Setter Property="BorderThickness" Value="0"/>
</Style>
<ComboBox Style="StaticResource MyComboBoxStyle">

如果您想使样式隐式应用于范围内的所有ComboBoxes,请删除x:Key

【讨论】:

完美!谢谢,这正是我想要的。

以上是关于如何从 MaterialDesignXamlToolkit 中删除 ComboBox 控件中的装饰器可见性?的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

如何从 Firebase 获取所有设备令牌?

如何直接从类调用从接口继承的方法?

如何从服务器获取和设置 android 中的 API(从服务器获取 int 值)?如何绑定和实现这个

如何从Mac从android studio中的fabric注销? [复制]

如何从设备中获取 PDF 文件以便能够从我的应用程序中上传?