0

私は Windows ストア アプリを構築しており、それを実現するために DevExpress ツールを使用しています。しかし、この問題には一般的な解決策があるかもしれないと考えています。ダイアログを開いているときに、すぐに入力を開始できるように、テキストボックスにフォーカスを設定したいと考えています。

XAML で既定のフィールドを設定できるのか、それとも単純にコードで行う必要があるのか​​、コードで行う必要がある場合はどうすればよいのでしょうか。

表示するコードはあまりありませんが、次のとおりです。

コード:

var dialog = _serviceContainer.GetService<IDXDialogService>("InputDialog");
dialog.Content = aModel;
var result = await dialog.ShowAsync();      
if (result == MessageDialogResult.OK)
{
//woho, check input
}

XAML:

    <DataTemplate x:Key="InputDialogContentTemplate">
    <TextBox x:Name="InputTextBox"
             Text="{Binding Input,
                            Mode=TwoWay}" />
    </DataTemplate>

    <dc:DXDialogService Key="ScanInputDialog"
                        Buttons="OKCancel"
                        Title="Input Something"
                        ContentTemplate="{StaticResource InputDialogContentTemplate}"
                        DefaultDialogButton="Ok" />
4

1 に答える 1

0

データテンプレートのコンテンツをユーザーコントロールに入れることで解決しました。ユーザーコントロールに Loaded イベントを追加し、そこにあるテキストボックスにフォーカスを設定しました。魔法のように動作します!

于 2013-04-22T07:26:08.640 に答える