AutoSuggestBox - 更改查询图标大小

时间:2017-03-28 00:46:53

标签: uwp uwp-xaml

我试图自定义autosuggestbox。我尝试过自定义模板:

AutoSuggestBox styles and templates

有了这个,我几乎可以改变我想要的一切,但我仍然无法知道如何更改查询图标的字体大小。

更新:今天我注意到这个问题已不复存在。我已经安装了W10 Creators Update和几个VS2017更新。

1 个答案:

答案 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>