Xaml 如何在MessageDialog内的元素上设置焦点
我正在构建一个windows应用商店应用程序,我正在使用DevXpress工具来实现它。但我认为这个问题可能有一个普遍的解决办法。当我打开对话框时,我想将焦点设置在一个文本框上,以便您可以立即开始键入 我想知道我是否可以通过XAML设置一个默认字段,或者我是否只需要通过代码来完成它,如果我必须通过代码来完成它,我该怎么做 我没有太多代码要显示,但是: 代码:Xaml 如何在MessageDialog内的元素上设置焦点,xaml,windows-runtime,devexpress,Xaml,Windows Runtime,Devexpress,我正在构建一个windows应用商店应用程序,我正在使用DevXpress工具来实现它。但我认为这个问题可能有一个普遍的解决办法。当我打开对话框时,我想将焦点设置在一个文本框上,以便您可以立即开始键入 我想知道我是否可以通过XAML设置一个默认字段,或者我是否只需要通过代码来完成它,如果我必须通过代码来完成它,我该怎么做 我没有太多代码要显示,但是: 代码: var dialog=\u serviceContainer.GetService(“InputDialog”); dialog.Cont
var dialog=\u serviceContainer.GetService(“InputDialog”);
dialog.Content=aModel;
var result=wait dialog.ShowAsync();
if(result==MessageDialogResult.OK)
{
//哇,检查输入
}
XAML:
我通过将datatemplate内容放入usercontrol解决了这个问题。在usercontrol中,我添加了一个加载的事件,并将焦点设置在文本框上。工作起来很有魅力 根据您使用的对象,您希望初始焦点的对象上的TabIndex=“0”
可以工作……但这是SL/WPF等吗?标记表示WinRT,而不是SL或WPF。
var dialog = _serviceContainer.GetService<IDXDialogService>("InputDialog");
dialog.Content = aModel;
var result = await dialog.ShowAsync();
if (result == MessageDialogResult.OK)
{
//woho, check input
}
<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" />