我有一个XAML页面,点击一个“添加”按钮后,我创建一个UserControl并将其添加到我的Container。这个UserControl有一个矩形,一个文本框和几个按钮。我的问题是,在第一次单击“添加”按钮时,焦点会被赋予文本框。重复点击“添加”按钮创建更多的UserControl实例,但焦点仍然在TextBox1上。如果我现在单击文本框5,该框会变得焦点,但只要我单击外部,焦点就会返回到文本框1。我希望只关注点击文本框。如何使用户控件中的文本框没有收到负载的焦点?
我已经尝试在XAML中设置IsTabStop = true,并拦截tapped事件并将其设置为false,但这并没有明显的效果。
什么工作完全是设置文本框的tabIndex = 2,之前创建另一个按钮,并将其设定的tabIndex = 1,但我失去这项福利,当我设置按钮的能见度=崩溃了。 TextBox是最左边的控件,因此它必须具有最低的TabIndex(从技术上讲,TextBox左侧有一个Rectangle,但由于Rectangle不是控件,它不能有TabIndex)。
我该如何解决这个问题?
我可以给焦点的UserControl的父?例如,父容器中的容器网格? – Freakishly 2015-02-05 20:57:11
我可能是错的,但我不认为一个网格可以有重点。您需要将焦点设置为另一个控件,可能刚按下的按钮才是最有意义的。 – JeremyK 2015-02-05 21:01:40
此外,没有办法从所有控件中“移除焦点”。你必须按照你所说的那样做,并创建一个隐藏的按钮,并将焦点放在该按钮上。 – JeremyK 2015-02-05 21:09:53