2017-05-02 9 views
0
<Style x:Key="TextInputStyle" TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}"> 
      <Setter Property="FontSize" Value="12"/> 
      <Setter Property="Margin" Value="5,5,5,5"/> 
      <Setter Property="VerticalAlignment" Value="Center"/> 
      <Setter Property="Background" Value="Red"/> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate> 
         <Border x:Name="bg" BorderBrush="#FF7F98DC" BorderThickness="1"> 
          <ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> 
         </Border> 
         <ControlTemplate.Triggers> 
          <Trigger Property="IsMouseOver" Value="True"> 
           <Setter Property="BorderBrush" TargetName="bg" Value="#FF7E97F0"/> 
           <Setter Property="BorderThickness" TargetName="bg" Value="2"/> 
          </Trigger> 
          <Trigger Property="IsFocused" Value="True"> 
           <Setter Property="BorderBrush" TargetName="bg" Value="DarkBlue"/> 
           <Setter Property="BorderThickness" TargetName="bg" Value="2"/> 
          </Trigger> 
         </ControlTemplate.Triggers> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 

これは私のApp.xamlコードの一部です。wpfテキストボックスの背景色が機能しない

これはtextBoxのスタイルです。

しかし、バックグラウンドプロパティは機能しませんでした。

その他はうまくいきます。

私を助けてください。 TextBoxの背景色を変更できないのはなぜですか?

+0

コントロールテンプレートが問題を引き起こしている、のControlTemplateを削除し、 –

答えて

1

あなたはそれがコントロールテンプレートで定義されているので、あなたがあなたの国境に背景を与えるべきである代わりに、テキストボックスに背景を与えています。

<Style x:Key="TextInputStyle" TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}"> 
     <Setter Property="FontSize" Value="12"/> 
     <Setter Property="Margin" Value="5,5,5,5"/> 
     <Setter Property="VerticalAlignment" Value="Center"/> 
     <Setter Property="Foreground" Value="AliceBlue"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate> 
        <Border x:Name="bg" BorderBrush="#FF7F98DC" BorderThickness="1" ***Background="Red"***> 
         <ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> 
        </Border> 
        <ControlTemplate.Triggers> 
         <Trigger Property="IsMouseOver" Value="True"> 
          <Setter Property="BorderBrush" TargetName="bg" Value="#FF7E97F0"/> 
          <Setter Property="BorderThickness" TargetName="bg" Value="2"/> 
         </Trigger> 
         <Trigger Property="IsFocused" Value="True"> 
          <Setter Property="BorderBrush" TargetName="bg" Value="DarkBlue"/> 
          <Setter Property="BorderThickness" TargetName="bg" Value="2"/> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

上記のControlTemplate内のBorderタグを参照してください。

+0

おかげで多くのことを動作するはずです、それを試してみてください!うまくいく! – parfum

関連する問題