0

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

4

1 回答 1

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"/>

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

于 2012-08-30T00:28:03.160 回答