2013-03-19 134 views
1

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

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

+0

你比较不同的控件模板来识别快速显着的差异? – 2013-03-19 18:35:18

+0

@ChrisW。 - 我发现主要问题似乎是TextBoxBase部分。我不确定ComboBox – 2013-03-19 18:36:49

+0

的作用是什么,不久前我必须做同样的事情,如果没有人马上回答,我会看看如果我不能花一分钟时间去深入了解一个wpf proj真的很快在我用一个答案打开我的大嘴之前再次看看。 – 2013-03-19 18:39:52

回答

0

创建一个新的样本项目后,这个问题似乎是与Windows 8中的错误