lov*_*nce 27
而不是向窗口添加新控件,我认为你应该为你的Grid命名并对窗口上的MouseDown事件作出反应,将焦点移动到Grid本身.像这样的东西:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
Height="412" Width="569"
MouseDown="Window_MouseDown"
Name="window1">
<Grid ShowGridLines="False"
Background="#01FFFFFF"
KeyDown="Grid_KeyDown"
Name="grid1"
Focusable="True">
<TextBox Width="120" Margin="117,61,0,0"
Name="textBox1"
VerticalAlignment="Top"
HorizontalAlignment="Left"/>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
代码背后:
private void window1_MouseDown(object sender, MouseButtonEventArgs e)
{
grid1.Focus();
}
Run Code Online (Sandbox Code Playgroud)
小智 14
我认为,解决此问题的更好方法是将MouseDown事件处理程序添加到窗口,后面是代码:
private void window_MouseDown(object sender, MouseButtonEventArgs e)
{
Keyboard.ClearFocus();
}
Run Code Online (Sandbox Code Playgroud)