C# Silverlight 3-TreeView未获得焦点
我有一个树状视图,它的层次数据模板绑定到一个可观察的集合。当集合加载完成后,我运行一些代码来选择一个特定的TreeView项目,然后应该将焦点放在TreeView上。其想法是,用户应该能够使用箭头键在TreeView中的条目之间滚动。树视图在填充时似乎有焦点,但arrtow键不会滚动选择。如果树视图在任何地方被点击,箭头键就会起作用,这表明树视图实际上没有焦点。有关守则如下:C# Silverlight 3-TreeView未获得焦点,c#,silverlight,treeview,C#,Silverlight,Treeview,我有一个树状视图,它的层次数据模板绑定到一个可观察的集合。当集合加载完成后,我运行一些代码来选择一个特定的TreeView项目,然后应该将焦点放在TreeView上。其想法是,用户应该能够使用箭头键在TreeView中的条目之间滚动。树视图在填充时似乎有焦点,但arrtow键不会滚动选择。如果树视图在任何地方被点击,箭头键就会起作用,这表明树视图实际上没有焦点。有关守则如下: Dispatcher.BeginInvoke(delegate {
Dispatcher.BeginInvoke(delegate
{
TreeViewAutomationPeer trvAutomation =
(TreeViewAutomationPeer)TreeViewAutomationPeer.CreatePeerForElement(TreeViewIndex);
IScrollProvider scrollingAutomationProvider =
(IScrollProvider)trvAutomation.GetPattern(PatternInterface.Scroll);
IndexEntry highScoreEntry = _currentIndexViewModel.HighScoreEntry;
TreeViewItem myItem = TreeViewIndex.ContainerFromItem(highScoreEntry);
TreeViewIndex.Focus();
myItem.IsSelected = true;
if (scrollingAutomationProvider.HorizontallyScrollable)
scrollingAutomationProvider.SetScrollPercent(0, scrollingAutomationProvider.VerticalScrollPercent);
TreeViewIndex.Focus();
});
任何帮助都将不胜感激。我在xaml中有以下代码:
<ScrollViewer Name="_treeScroll">
<controls:TreeView x:Name="_tree"/>
</ScrollViewer>
希望它能帮助
private void ExpandTreeViewItem(TreeViewItem tvi)
{
tvi.IsSelected = true;
tvi.IsExpanded = true;
tvi.UpdateLayout();
_treeScroll.ScrollIntoView(tvi);
}