从TextBox更改为ComboBox

时间:2013-03-19 18:27:51

标签: c# .net wpf xaml mvvm

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

<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似乎是最大的问题。

1 个答案:

答案 0 :(得分:0)

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