c# - 如何在以编程方式创建的文本框中设置焦点?

标签 c# wpf textbox focus

当窗口出现时,我需要对以下代码做些什么才能使第二个文本框中的光标闪烁

XAML:

<Window x:Class="TestFocksdfj.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <StackPanel HorizontalAlignment="Left" Margin="10">
        <ContentControl x:Name="FormArea"/>
    </StackPanel>
</Window>

代码隐藏:

using System.Windows;
using System.Windows.Controls;

namespace TestFocksdfj
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            StackPanel sp = new StackPanel();

            for (int i = 0; i < 3; i++)
            {
                TextBox tb = new TextBox();
                tb.Width = 200;
                tb.Margin = new Thickness { Bottom = 3 };
                if (i == 1)
                    tb.Focus();
                sp.Children.Add(tb);
            }

            FormArea.Content = sp;
        }
    }
}

最佳答案

在调用 FormArea.Content = sp; 之后,您可以调用 sp.Children[1].Focus(); 为第二个文本框提供焦点。

像这样:

public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
            StackPanel sp = new StackPanel();

            for (int i = 0; i < 3; i++)
            {

                TextBox tb = new TextBox();
                tb.Width = 200;
                tb.Margin = new Thickness { Bottom = 3 };
                sp.Children.Add(tb);
            }
            FormArea.Content = sp;
            sp.Children[1].Focus();
        }
    }

关于c# - 如何在以编程方式创建的文本框中设置焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253018/

相关文章:

c# - 键入时将文本设置为全部大写

c# - 通过编码表示形式限制 TextBox 中 Text 的长度

c# - 拼写检查不适用于 WPF RichTextBox

c# - 使用 pdfsharp,c# 将 wpf 布局保存为 pdf

wpf - 无法清除 WPF ListBox.SelectedItems 集合

c# - Windows 7 系统默认控件颜色列表

c# - 我如何创建一个通用类型,其中 T 也可以是 int32,但不仅是一个类

c# - CPU 绑定(bind)任务的并行化继续与 IO 绑定(bind)

c# - 使用 Mono.Cecil 从 ByReferenceType 获取通用参数

c# - 为什么我无法覆盖 OnWindowCreated 并且看不到 ShowOnKeyBoardInput 属性?