以编程方式将文本框添加到WPF画布

时间:2018-07-30 12:59:35

标签: c# wpf

我想将文本框添加到WPF画布。但是,如果我执行程序,则什么也不会发生。一些想法,线索等?

这是我的密码隐藏

private void Main_Canvas_KeyUp(object sender, KeyEventArgs e)
{
   if (e.Key == Key.Enter)
   {
       TextBox textBox = new TextBox();
       textBox.Width = 250;
       Canvas.SetLeft(textBox, Main_Canvas.Width / 2);
       Canvas.SetTop(textBox, Main_Canvas.Height / 2);
       Main_Canvas.Children.Add(textBox);
    }
}

这是我的 XAML

<Canvas x:Name="Main_Canvas" KeyUp="Main_Canvas_KeyUp" />

1 个答案:

答案 0 :(得分:1)

那是因为您的画布没有焦点。将其^设置为Focusable,并确保在Windows true事件中调用Focus()具有焦点。

Xaml:

Loaded

窗口<Canvas x:Name="Main_Canvas" KeyUp="Main_Canvas_KeyUp" Focusable="True" /> 事件处理程序:

Loaded