1

我有一个简单的 WPF 窗口,它承载一个用户控件。用户控件包含一个标签、文本框和几个按钮。确定为默认按钮和取消按钮。我从我的父窗口启动此对话框/窗口。我想要实现的是当这个对话框启动时,TextBox 应该有输入控件。我试图将选项卡索引设置为 0,但这似乎不起作用。

当窗口打开时,我必须按一次 Tab 才能在编辑框中获取输入控件。这是我的 TextBox 的 xaml 的样子

<TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" VerticalContentAlignment="Center" AcceptsReturn="False" TabIndex="0"></TextBox>

此外,我希望这个窗口在其父窗口的中心打开。我已经设定

<Window .......   WindowStyle="ToolWindow" Topmost="True" ShowInTaskbar="False" ResizeMode="NoResize" WindowStartupLocation="CenterOwner">

在多个屏幕上,窗口始终在主监视器上打开。我怎样才能让它在父母窗口的中心打开?

PS:最好我想在 WPF 中执行此操作。

4

1 回答 1

1

对于您的第一个问题,请编写以下代码:

public YourChildWindow()
{
    InitializeComponent();

    YourTextBox.Focus();
}

对于第二个问题:您必须将StartupLocation子窗口设置为并在显示子窗口CenterOwner 之前设置子窗口。例如,在父窗口中编写以下代码:OwnerParentWindow

Window ownedWindow = new Window();
ownedWindow.Owner = this;
ownedWindow.Show();

根据http://msdn.microsoft.com/en-us/library/system.windows.window.owner.aspx

于 2013-09-14T09:50:28.957 回答