【发布时间】:2018-01-20 13:37:48
【问题描述】:
我在我的应用中使用 AutoSuggestBox,我更喜欢进行以下更改。
- 在使用 QueryIcon=Find 时,我可以在最右侧看到搜索。我可以把它左对齐吗(类似于边缘搜索窗口)
- 我可以自定义“全部清除”按钮吗?我想在不同的时间使用不同的图标,具体取决于 SuggestBox 中的某些操作。
你能指出我的选择吗...
谢谢
【问题讨论】:
标签: uwp
我在我的应用中使用 AutoSuggestBox,我更喜欢进行以下更改。
你能指出我的选择吗...
谢谢
【问题讨论】:
标签: uwp
AutoSuggestBox 是一个密封控件,因此您无法对其进行重新模板化以对其进行自定义,而不仅仅是为您提供的属性。您可以覆盖许多资源(请参阅 generic.xaml 和 docs),例如,更改图标的大小:
<x:Double x:Key="AutoSuggestBoxIconFontSize">12</x:Double>
理论上,您还可以爬取可视化树以检索某些元素并在代码隐藏中修改它们,但这可能会很混乱、引入错误并导致性能下降。
您可以在 AutoSuggestBox 上设置 TextBoxStyle 并将其设置为自定义 TextBox,您可以在其中操作某些 XAML 以满足您的需求,但您需要创建一个新的完整样式对于您需要的每个变化。这样做的缺点是,因为您需要整个 TextBox 模板的多个实例,您会受到性能影响,并且会阻止您在将来免费接收错误修复和 TextBox 样式的更新。
您还可以使用您喜欢的任何自定义功能实现您自己的 AutoSuggestBox。这可能是一个更复杂的解决方案,但它可能是最简单且性能最高的选项。
我建议不要进行其中一些更改,因为它们会与平台的其他部分不一致,并且可能会使用户感到困惑。在 Edge 中,左侧有 一个搜索字形,但该字形与 AutoSuggetsBox 中的搜索按钮不同。实际上,Edge 似乎并没有使用 AutoSuggestBox 控件,而是有自己的自定义实现。
【讨论】:
您唯一需要的是应用新样式,您可以从AutoSuggestBox styles and templates 找到默认样式。因此,如果您想将QueryButton 向左对齐,请更改布局。
【讨论】: