1

我有一个自定义样式应用于我的 WPF 页面中的文本框,但是我现在已将 TextBoxes 更改为可编辑的 ComboBoxes,并且需要应用样式以适应新的可编辑 ComboBoxes。这是当前代码:

<Style TargetType="ComboBox">
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="BorderBrush" Value="Silver"/>
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="SnapsToDevicePixels" Value="True"/>
            <Setter Property="OverridesDefaultStyle" Value="True"/>
            <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
            <Setter Property="AllowDrop" Value="true"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TextBoxBase}">
                        <Border Name="Border" Padding="1" Background="#FFFFFF" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" >
                            <ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsEnabled" Value="False">
                                <Setter TargetName="Border" Property="Background" Value="#EEEEEE"/>
                                <Setter TargetName="Border" Property="BorderBrush" Value="#EEEEEE"/>
                                <Setter Property="Foreground" Value="#888888"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

以上是我设法改变的,但是我不确定还有什么需要改变的。可编辑的 ComboBox 本质上是一个带有下拉菜单的文本框,所以我认为它几乎保持不变。TextBoxBase似乎是最大的问题。

4

1 回答 1

0

创建新的示例项目后,问题似乎是 Windows 8 的错误。

于 2013-03-19T20:57:19.330 回答