我试图自定义autosuggestbox。我尝试过自定义模板:
AutoSuggestBox styles and templates
有了这个,我几乎可以改变我想要的一切,但我仍然无法知道如何更改查询图标的字体大小。
更新:今天我注意到这个问题已不复存在。我已经安装了W10 Creators Update和几个VS2017更新。
答案 0 :(得分:3)
Segoe MDL2资产的所有新图标的大小和位置都相同。详情请参阅Segoe MDL2 icons。并且SymbolIcon
没有字体大小相对属性。
但是您有以下两种解决方法来更改查询图标的大小。
一个人使用CompositeTransform
作为SymbolIcon
。代码如下:
<AutoSuggestBox>
<AutoSuggestBox.QueryIcon>
<SymbolIcon Symbol="Find" Foreground="Green" >
<SymbolIcon.RenderTransform>
<CompositeTransform ScaleX="2" ScaleY="2"/>
</SymbolIcon.RenderTransform>
</SymbolIcon>
</AutoSuggestBox.QueryIcon>
</AutoSuggestBox>
另一种更新模板的方法,就像您当前所做的那样。查询按钮的样式在QueryButtonStyle
样式和模板的AutoSuggestBox
中定义。你需要找到并更新它。您可能需要在ButtonLayoutGrid
之外添加ViewBox
而不是更改一个属性,并设置ViewBox
的高度和宽度来控制图标的大小。代码如下:
<Style x:Name="QueryButtonStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Viewbox Height="50" Width="50">
<Grid x:Name="ButtonLayoutGrid" BorderBrush="{ThemeResource TextControlButtonBorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{ThemeResource TextControlButtonBackground}">
<VisualStateManager.VisualStateGroups>
...
</VisualStateManager.VisualStateGroups>
<ContentPresenter x:Name="ContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid></Viewbox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>