我正在构建一个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" />
答案 0 :(得分:0)
我通过将datatemplate内容放入usercontrol来解决它。在usercontrol中,我添加了一个Loaded事件,并将焦点设置在那里的文本框上。像魅力一样工作!