WPF中焦点光标闪烁



我有一个文本块,扩展器和文本框…

这些是在listview列的标题内。

TextBlock是为listview列名,点击展开器…文本框将显示…用户可以根据该列搜索listview。文本框默认为折叠状态。

我的要求是,当用户点击扩展器时,文本框应该显示给用户…重点应该放在文本框上。

使用下面的XAML,我可以在单击扩展器时显示文本框,并将焦点(光标)设置在文本框上。但是光标没有闪烁。我的意思是我必须再次点击文本框输入一些

请帮我找出问题是什么…如有任何帮助,不胜感激。

    <StackPanel>
     <DockPanel>
      <TextBlock DockPanel.Dock="Left" Text="ID"/>
        <Expander x:Name="IdExp" DockPanel.Dock="Right" IsExpanded="False" ExpandDirection="Down" >                                                         
                                                                         </Expander>                                                                
    </DockPanel>
    <TextBox x:Name="PropertyCCCIDSearch" 
      Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, 
                                                      Path=DataContext.SearchCCGId.Value,UpdateSourceTrigger=PropertyChanged}"
     Visibility="{Binding ElementName=IdExp, Path=IsExpanded, Converter={x:Static local:Converters.BoolToVisibility}}" >                   
    <TextBox.Style>
    <Style>
    <Style.Triggers>                                                                                <DataTrigger Binding="{Binding ElementName=IdExp, Path=IsExpanded}" Value="True">
         <Setter Property="FocusManager.FocusedElement" Value="{Binding      ElementName=PropertyCCCIDSearch}"/>                                                        </DataTrigger>
     </Style.Triggers>
   </Style>
  </TextBox.Style>
 </TextBox>                                                            
</StackPanel>

你的代码工作正常,这是我尝试

<Window.Resources>
        <BooleanToVisibilityConverter x:Uid="BooleanToVisibilityConverter_1" x:Key="b2v" />
    </Window.Resources>
    <Grid>
        <StackPanel>
            <DockPanel>
                <TextBlock DockPanel.Dock="Left" Text="ID"/>
                <Expander x:Name="IdExp" DockPanel.Dock="Right" IsExpanded="False" ExpandDirection="Down" >
                </Expander>
            </DockPanel>
            <TextBox x:Name="PropertyCCCIDSearch" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, 
                                                      Path=DataContext.SearchCCGId.Value,UpdateSourceTrigger=PropertyChanged}"
                     Visibility="{Binding ElementName=IdExp, Path=IsExpanded,
                     Converter={StaticResource b2v}}" >
                <TextBox.Style>
                    <Style>
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding ElementName=IdExp, Path=IsExpanded}" Value="True">
                                <Setter Property="FocusManager.FocusedElement" Value="{Binding    ElementName=PropertyCCCIDSearch}"/>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </TextBox.Style>
            </TextBox>
        </StackPanel>
    </Grid>
</Window>

最新更新