Wpf 当文本框用Tab键聚焦时,光标不显示

Wpf 当文本框用Tab键聚焦时,光标不显示,wpf,textbox,Wpf,Textbox,当使用Tab键聚焦文本框时,光标不会显示。这在键入时不会更改。只有当用户在文本框内单击时,此问题才会得到解决 以下是我的文本框的代码: <TextBox x:Name="NameField" Style="{StaticResource placeHolder}" Tag="Name" FontFamily="Courier New" FontSize="48"

当使用Tab键聚焦文本框时,光标不会显示。这在键入时不会更改。只有当用户在文本框内单击时,此问题才会得到解决

以下是我的文本框的代码:

<TextBox x:Name="NameField"
             Style="{StaticResource placeHolder}"
             Tag="Name" 
             FontFamily="Courier New"
             FontSize="48"
             VerticalAlignment="Top"
             FontWeight="Bold"
             BorderBrush="{x:Null}"
             SelectionBrush="{DynamicResource AccentColor}"
             BorderThickness="0"
             TextChanged="ChangeName"
             Height="49"
             KeyDown="UndoRedoKeyPress" />

单击第一个文本框,然后按Tab键以聚焦第二个文本框时。键入时光标将不可见。

A
TextBox
样式应包含任何子
TextBox
元素。试试这个:

<Style x:Key="placeHolder" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
    <Setter Property="Foreground" Value="{DynamicResource ForegroundColor}" />
    <Setter Property="CaretBrush" Value="{DynamicResource ForegroundColor}" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TextBox}">
                <Border x:Name="border"
                                Background="Transparent"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                Panel.ZIndex="2"
                                SnapsToDevicePixels="True">
                    <Grid>
                        <TextBlock Text="{TemplateBinding Tag}" Foreground="LightGray">
                            <TextBlock.Style>
                                <Style TargetType="TextBlock">
                                    <Setter Property="Visibility" Value="Collapsed"/>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding Path=Text, RelativeSource={RelativeSource AncestorType=TextBox}}" Value="">
                                            <Setter Property="Visibility" Value="Visible"/>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </TextBlock.Style>
                        </TextBlock>
                        <ScrollViewer x:Name="PART_ContentHost" Focusable="false" 
                                          HorizontalScrollBarVisibility="Hidden" 
                                          VerticalScrollBarVisibility="Hidden"/>
                    </Grid>
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled" Value="false">
                        <Setter Property="Opacity" TargetName="border" Value="0.56"/>
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="true">
                        <Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/>
                    </Trigger>
                    <Trigger Property="IsKeyboardFocused" Value="true">
                        <Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>


根据您提供的信息,无法复制您的问题。请阅读并修改您的问题,以包括您的问题的MCVE。@mm8我已更新了我的原始帖子,并提供了更多详细信息。
<Style x:Key="placeHolder" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
    <Setter Property="Foreground" Value="{DynamicResource ForegroundColor}" />
    <Setter Property="CaretBrush" Value="{DynamicResource ForegroundColor}" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TextBox}">
                <Border x:Name="border"
                                Background="Transparent"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                Panel.ZIndex="2"
                                SnapsToDevicePixels="True">
                    <Grid>
                        <TextBlock Text="{TemplateBinding Tag}" Foreground="LightGray">
                            <TextBlock.Style>
                                <Style TargetType="TextBlock">
                                    <Setter Property="Visibility" Value="Collapsed"/>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding Path=Text, RelativeSource={RelativeSource AncestorType=TextBox}}" Value="">
                                            <Setter Property="Visibility" Value="Visible"/>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </TextBlock.Style>
                        </TextBlock>
                        <ScrollViewer x:Name="PART_ContentHost" Focusable="false" 
                                          HorizontalScrollBarVisibility="Hidden" 
                                          VerticalScrollBarVisibility="Hidden"/>
                    </Grid>
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled" Value="false">
                        <Setter Property="Opacity" TargetName="border" Value="0.56"/>
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="true">
                        <Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/>
                    </Trigger>
                    <Trigger Property="IsKeyboardFocused" Value="true">
                        <Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>