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 回答