2016-10-17 3 views
0

텍스트 상자 위에 마우스를 올려 놓으면 텍스트 상자 테두리가 파란색으로 바뀝니다. IsMouseOver 트리거 블랙에WPF 텍스트 상자 테두리가 마우스 입력시 색이 바뀝니다.

<TextBox 
    BorderThickness="1" 
    BorderBrush="Black" 
    x:Name="textBox" 
    custom:ScrollToEndBehavior.OnTextChanged="True" 
    VerticalScrollBarVisibility="Auto" 
    HorizontalAlignment="Center" 
    Height="154" 
    Margin="32,220,36,5" 
    TextWrapping="Wrap" 
    Text="{Binding LogText, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
    Width="449" 
    Background="WhiteSmoke" 
    Visibility="{Binding Path=IsLogVisible, Converter={StaticResource BoolToVis}}" 
    IsReadOnly="True"/> 

답변

1

변경 기본 스타일 :

<Style TargetType="TextBox"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="TextBox"> 
        <Border BorderThickness="{TemplateBinding Border.BorderThickness}" 
        BorderBrush="{TemplateBinding Border.BorderBrush}" 
        Background="{TemplateBinding Panel.Background}" 
        Name="border" 
        SnapsToDevicePixels="True"> 
         <ScrollViewer HorizontalScrollBarVisibility="Hidden" 
          VerticalScrollBarVisibility="Hidden" 
          Name="PART_ContentHost" 
          Focusable="False" /> 
        </Border> 
        <ControlTemplate.Triggers> 
         <Trigger Property="UIElement.IsMouseOver" Value="True"> 
          <Setter Property="Border.BorderBrush" TargetName="border" 
        Value="Black"/> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
+0

당신은 "템플릿"는 세터 속성을 의미한다 무엇을 나에게 설명 할 수, 감사합니다 여기 내 XAML입니다. 내 인텔리 센스 드롭 다운에 옵션이 없습니다. 내 안에 태그를 만든 다음 친절하게 제공 한 코드를 삽입했습니다. 그리고 내가 얻는 유일한 오류는 "템플릿"을 의미합니다. –

+0

"템플릿"속성을 사용하면 컨트롤이 어떻게 동작하고 보이는지 재정의 할 수 있습니다. – Rom