Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关注文本框不工作_C#_Wpf_Mvvm - Fatal编程技术网

C# 关注文本框不工作

C# 关注文本框不工作,c#,wpf,mvvm,C#,Wpf,Mvvm,我有一个带有内容控件的主窗口,可以承载其他页面。其中一个页面有一个文本框和一个gridview。当页面加载时,我想将焦点设置在文本框上。如果我在代码隐藏中执行此操作,框将无法获得焦点。如果我在XAML中使用 FocusManager.FocusedElement="{Binding ElementName=DrugScanTextBox}" 然后我可以在文本框中看到光标,但它不会闪烁,按键也不会显示在文本框中 我唯一的猜测是gridview在加载和绘制数据后会获取焦点 关于如何解决这个问题有什

我有一个带有内容控件的主窗口,可以承载其他页面。其中一个页面有一个文本框和一个gridview。当页面加载时,我想将焦点设置在文本框上。如果我在代码隐藏中执行此操作,框将无法获得焦点。如果我在XAML中使用

FocusManager.FocusedElement="{Binding ElementName=DrugScanTextBox}"
然后我可以在文本框中看到光标,但它不会闪烁,按键也不会显示在文本框中

我唯一的猜测是gridview在加载和绘制数据后会获取焦点


关于如何解决这个问题有什么想法吗?

我添加了一个布尔属性“FocusNow”,并在后台工作程序加载的事件结束时将其设置为true,然后在用户控件周围添加了这个边框样式。这样,在加载完所有内容后,它会将焦点设置为网格(在您的文本框中)


。 .
.

我尝试了类似的活动,但没有真正改变任何事情。必须有更好的方法来做到这一点。。。
<Border Margin="10" >
    <Border.Style>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding FocusNow}" Value="True">
                    <Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=xamDataGrid1}" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Border.Style>