经过数小时的试图解决这个问题,我放弃了,并且真的想知道是否有解决方案。WPF扩展工具包 - 在DecimalUpDown中选择值
我有一个WPF视图,它将焦点放在从后面的代码(xaml.cs)开始的小数点后面。我的目标是在它加载“0.00”之后选择它内部的值,用户在输入值之前必须将其删除,这令人沮丧。我试图在加载方法如下代码:
private void Loaded_Window(object sender, EventArgs e)
{
txtAmount.AutoSelectBehavior = AutoSelectBehavior.OnFocus;
txtAmount.Focus();
Keyboard.Focus(txtAmount);
}
我也曾尝试设置SelectAllOnGotFocus为真,它仍然没有工作。有趣的是,如果我在该方法中加入了一个调试点,这会选择测试,所以我认为它与加载用户控件有关。有没有人有任何指示如何使这项工作?
的XAML decimalupdown:
<xctk:DecimalUpDown x:Name="txtAmount" d:LayoutOverrides="Height" Minimum="0" Maximum="99999999.99" ShowButtonSpinner="False" UpdateValueOnEnterKey="True" Text="{Binding Amount, UpdateSourceTrigger=PropertyChanged}" AllowSpin="False" FormatString="N2" >
http://doc.xceedsoft.com/products/XceedWpfToolkit/Xceed.Wpf.Toolkit~Xceed.Wpf.Toolkit.Primitives.UpDownBase%601~TextBox.html表明也许你想关注文本框控制不是控制本身。如果你想突出显示文本,那么它就是一个文本框,你可以使用文本框本身的SelectAll方法。 –
我同意你的观点,我认为这也是正确的做法。不幸的是我试图从DecimalUpDown访问文本框,它不会让我这样做。 – NetUser101
你可以从'DecimalUpDown'派生自己的类,这样你就可以访问'protected TextBox',然后,只要方便,就调用'TextBox.Focus()',例如'Loaded'事件; – jsanalytics