2010-03-01 2 views
2

그래서 특정 항목이 숨겨져있는 것과 같은 TreeView가 있습니다. 화살표 키를 사용하여 트리를 통과하려고하면 "접힌"항목을 둘러싼 항목에 갇히게됩니다. 직접 해보십시오. 다른TreeView에 숨겨진 항목이있을 때 키보드 탐색이 실패합니다

 

<Window x:Class="Example.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="TreeViewBug" Height="300" Width="300"> 
    <Grid> 
     <TreeView> 
      <TreeViewItem Header="a." /> 
      <TreeViewItem Header="b" Visibility="Collapsed" /> 
      <TreeViewItem Header="c." /> 
      <TreeViewItem Header="d" /> 
      <TreeViewItem Header="e." /> 
      <TreeViewItem Header="f" Visibility="Collapsed"/> 
      <TreeViewItem Header="g." /> 
      <TreeViewItem Header="h" /> 
     </TreeView> 
    </Grid> 
</Window> 
 

아무도이 질문을 게시 (또는 블로그에 대해) 그래서 나는이에 비 해키 솔루션을 얻기의 희망을 게시하도록하겠습니다 것으로 보인다. 그래서 여기 내 질문 :

이 버그를 어떻게 수정합니까?

Visibility가 Hidden/Collapsed 또는 IsEnabled가 false로 설정된 항목을 건너 뛰도록 기본 TreeView를 확장 할 계획입니다. 다른 사람이 전에 이것을 만났고 좋은 해결책을 생각해 냈습니까?

답변

5

왜 이러한 일이 발생하는지 이해가되지 않습니다. 다음을 추가하여 문제를 해결할 수 있습니다.

IsEnabled="False" 

접힌 항목. 그러면 네비게이션이 예상대로 작동합니다.

3

다음은 작동하는 해결책입니다. 숨어있는 항목을 비활성화하십시오. 항목을 사용하지 않으면 키보드 탐색이 예상대로 작동합니다. 따라서 항목의 가시성을 설정할 때마다 항목이 보이지 않을 때 IsEnabled를 false로 설정하십시오.

질문에 코드를 사용해도 모든 접힌 항목에 IsEnabled = "false"를 추가하십시오. 그것은 작동해야합니다.

관련 문제