隐藏组合框Windows 8中的下拉箭头

时间:2012-08-29 05:30:54

标签: windows c#-4.0 microsoft-metro

如何在Metro风格的应用程序(Windows 8)中禁用组合框中的下拉箭头

1 个答案:

答案 0 :(得分:1)

如果您想永久禁用它,只需编辑ControlTemplate即可。你可以删除它,弹出窗口......或者进行各种其他基本模板编辑,使其不再起作用。

特别是命名实体DropDownGlyph:

<TextBlock x:Name="DropDownGlyph" Grid.Column="1" 
    Foreground="{StaticResource ComboBoxArrowForegroundThemeBrush}" 
    FontWeight="Bold" 
    FontSize="{StaticResource ComboBoxArrowThemeFontSize}" 
    FontFamily="{StaticResource SymbolThemeFontFamily}" 
    HorizontalAlignment="Right" IsHitTestVisible="False" 
    Margin="0,0,6,4" Text="&#xE011;" 
    VerticalAlignment="Center"/>

如果这是一个临时的事情,考虑到你想要切换的场景,那么最简单的方法是使用两个控件,TextBlockComboBox。根据另一个属性(例如BooleanToVisibilityConverter)切换可见性(使用许多VS2012模板中包含的BooleanNegationConverterShowAsComboBox)。将TextBlock和ComboBox绑定到同一属性。只要两个控件共享一个共同的父级和位置,它应该看起来很好。