在我的 WPF 应用程序中,我希望菜单项有一个文本框。我已经设法使用以下代码做到这一点:
<Menu Height="23" HorizontalAlignment="Stretch" Name="MainMenu" VerticalAlignment="Top">
<MenuItem Header="File">
<MenuItem Header="Exit" Click="menuItemExit_Click" />
</MenuItem>
<MenuItem Header="Settings">
<MenuItem Header="Some setting" IsCheckable="True" />
<Separator />
<MenuItem>
<MenuItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Label Content="Some value:" Margin="0,3,6,0" Padding="0" />
<TextBox Margin="0,0,0,6" Grid.Column="1" />
</Grid>
</MenuItem.Header>
</MenuItem>
</MenuItem>
</Menu>
此代码像我预期的那样显示菜单项,但是如果我开始在文本框中输入一些值,然后将鼠标(而不是单击)从文本框菜单项上移开,文本框将失去焦点,并且在单击之前我无法继续输入再次在文本框中。如何在 WinForms 中实现与文本框菜单项相同的行为?也就是说,只有当用户在文本框外单击或按 Tab 键时,文本框才会失去焦点。
提前致谢。