2010-12-06 71 views
0

我想使用使用保存焦点状态

FocusManager.GetFocusedElement()

的“最佳实践”技术在OnNavigatedFrom事件和

this.FindName

定位在的OnNavigatedTo事件聚焦控制。

我有一个全景页面,每个PanoramaItem内我有一个用户控制这反过来有许多控件,如文本框的等。

的GetFocusedElement确实在用户控件检索集中控制的名字,但FindName方法然后无法找到它回来!返回的名称不包含任何对用户控件本身的引用,所以我假设FindName不会遍历用户控件!

难道我做错了什么或没有人知道容易地改善这种方式,或者至少是简单的技术至少显示或导航过的应用程序被关闭之前显示的最后PanoramaItem?

+0

什么是你指的是“最佳实践”技术的来源是什么? – 2010-12-06 11:07:13

回答

1

要将选定全景项时页面导航使用DefaultItem属性。

为了确定这一点应该是什么,导航离开该页面时保存SelectedItem

您应该在页面级别执行此操作并访问全景图的属性。应该不需要在panoramaItem中托管的控件中执行任何操作,无论它们是否是用户控件。

如果你想避免改变defaultItem的副作用,你可能想看看http://blogs.ugidotnet.org/corrado/archive/2010/09/27/smartpanorama-a-panorama-control-extension.aspx

+0

谢谢。非常方便的提示。使用DefaultItem引起的有趣问题!你会认为他们会在SelectedItem属性中建立一个设置方法! – NER1808 2010-12-13 11:27:33