C# Silverlight 3-TreeView未获得焦点

C# Silverlight 3-TreeView未获得焦点,c#,silverlight,treeview,C#,Silverlight,Treeview,我有一个树状视图,它的层次数据模板绑定到一个可观察的集合。当集合加载完成后,我运行一些代码来选择一个特定的TreeView项目,然后应该将焦点放在TreeView上。其想法是,用户应该能够使用箭头键在TreeView中的条目之间滚动。树视图在填充时似乎有焦点,但arrtow键不会滚动选择。如果树视图在任何地方被点击,箭头键就会起作用,这表明树视图实际上没有焦点。有关守则如下: Dispatcher.BeginInvoke(delegate {

我有一个树状视图,它的层次数据模板绑定到一个可观察的集合。当集合加载完成后,我运行一些代码来选择一个特定的TreeView项目,然后应该将焦点放在TreeView上。其想法是,用户应该能够使用箭头键在TreeView中的条目之间滚动。树视图在填充时似乎有焦点,但arrtow键不会滚动选择。如果树视图在任何地方被点击,箭头键就会起作用,这表明树视图实际上没有焦点。有关守则如下:

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);
        }