1
을 내가하는 난에 Application.ResourcesWPF를 TabStop 텍스트 상자는 Win10
스타일이 자리를 구현하고 있기 때문에에서 사용자 지정 스타일을 포함하는 텍스트 상자와 창을 가지고, 내 WPF 응용 프로그램의 테스트를 고민하고 작동하지 그것은 탭핑을 방해했습니다 (TB 내용 대신 자리 표시 자에 초점을 맞 춥니 다). 일부 IsTabStop 코드를 추가해야했습니다.
Im 디버깅과 Win7의 exe 릴리스에서도 완벽하게 작동하지만 탭이 Win10에서 작동하지 않는다면이 스타일은 구현되지 않은 TextBoxes 및 탭 탭만 무시합니다.
도움이 될 것입니다.
<Style x:Key="placeHolderNoline" TargetType="{x:Type TextBox}" BasedOn="{StaticResource tb}">
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Grid>
<TextBox Text="{Binding Path=Text,
RelativeSource={RelativeSource TemplatedParent},
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"
x:Name="textSource"
Background="Transparent"
Panel.ZIndex="2"
BorderThickness="0,0,0,0"/>
<TextBox Text="{TemplateBinding Tag}" Background="{TemplateBinding Background}" Panel.ZIndex="1" BorderThickness="0" IsTabStop="False">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Foreground" Value="Transparent"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Text, Source={x:Reference textSource}}" Value="">
<Setter Property="Foreground" Value="LightGray"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
편집 : TB 스타일하십시오 TextBox
의 ControlTemplate
다른 두 다른 TextBox
요소가 포함되어 있지 않습니다
<Style TargetType="TextBox" x:Key="tb">
<Setter Property="Foreground" Value="WhiteSmoke"/>
<Setter Property="Background" Value="#33FFFFFF"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
이 두 창에 근무 :
이 스타일을 시도하십시오. 코드를 확인하기 위해 잠시만 기다려주십시오. – someone1좋아요, 배경을 적용중인'BasedOn = "{StaticResource tb}"는 지금 작동하지 않습니다. 어떤 아이디어? – someone1
질문을 편집하고 "tb"스타일의 내용을 포함하십시오. – mm8