你好我现在有一个xaml表单弹出一些文本,一个文本框和一个名为confirm的按钮。
有没有办法可以让光标已经显示在文本框中,以便用户可以立即开始输入并专注于按钮,这样当他们按下回车键时,它就会运行按钮on_Click处理程序。
我的xaml代码如下所示:文本框和按钮:
<TextBox x:Name="SessionName" Grid.Row="4" FontFamily="Calibri" FontSize="14" IsTabStop="True" TabIndex="1" MaxLines="2" AcceptsTab="True" AcceptsReturn="False" BorderThickness="1" Height="30" Width="300" HorizontalAlignment="Center" Margin="0,5,10,5" ForceCursor="True" >
<TextBox.ContextMenu>
<ContextMenu/>
</TextBox.ContextMenu>
</TextBox>
<Button x:Name="startAppButton" Content="Start" Grid.Row="5" Height="25" Width="150" Click="StartAppButton_Click" HorizontalAlignment="Center" />
对于我的.cs文件,代码如下:
public class Class
{
public WelcomePage()
{
InitializeComponent();
/*disables window modification.*/
this.WindowStyle = WindowStyle.None;
}
public static string sessionName { set; get; }
private void StartAppButton_Click(object sender, RoutedEventArgs e)
{
if (SessionName.Text.ToString().Equals(""))
{
System.Windows.MessageBox.Show("Please give your session a name", "Error",
MessageBoxButton.OK, MessageBoxImage.Error);
}
else
{
sessionName = SessionName.Text.ToString();
Calibration.Degree_Choice dc = new Calibration.Degree_Choice();
this.Hide();
dc.ShowDialog();
this.Close();
}
}
}
如果有可能的话,我们将非常感谢。
Ĵ
答案 0 :(得分:0)
您无法同时将焦点设置为两个控件,但是您可以将该按钮标记为表单的“默认按钮”(通过设置IsDefault
),并且它将接受返回,而不管焦点。还有一种方法可以指定在开始时关注哪个控件(FocusManager.FocusedElement
)。
尝试这样的事情:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="75.705" Width="277.037"
FocusManager.FocusedElement="{Binding ElementName=textBox1}">
<DockPanel>
<Button IsDefault="True" Click="Button_Click" Content="OK" DockPanel.Dock="Right" Width="50"/>
<TextBox Name="textBox1"/>
</DockPanel>