1

ユーザーコントロールをホストする単純な WPF ウィンドウがあります。ユーザー コントロールには、ラベル、TextBox、およびいくつかのボタンが含まれています。デフォルトの OK ボタンとキャンセル ボタン。親ウィンドウからこのダイアログ/ウィンドウを起動します。私が達成したいのは、このダイアログが起動されたときに、TextBox に入力コントロールが必要であることです。タブ インデックスを 0 に設定しようとしましたが、うまくいかないようです。

ウィンドウが開いたら、タブを 1 回押して、編集ボックスに入力コントロールを表示する必要があります。これが私の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();
}

2 番目の質問:子ウィンドウを表示する前に、子ウィンドウを設定し、子ウィンドウ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 に答える