나는 TreeViews의 초보자입니다. WPF 스타일에서, 나는 세 가지 수준으로 구성 트 리뷰이 모든,이 시점에서자식 분기 또는 트리 뷰 (MVVM 스타일)의 리프에 바인딩하는 방법은 무엇입니까?
<TreeView ItemsSource="{Binding ReportTree}" >
<i:Interaction.Behaviors>
<tvb:TreeViewBehavior SelectedItem="{Binding SelectedTreeItem, Mode=TwoWay}" />
</i:Interaction.Behaviors>
다음 XAML에서
ReportName1
NetworkName1
PrinterName1
PrinterName2
NetworkName2
PrinterName3
PrinterName4
ReportName2
....
을, 나는 뷰 모델에 트 리뷰의 selectedItem을 결합하는 상호 작용 행동을 사용하고 있습니다 기본 보고서 이름 아래에서 ANY 항목을 선택하면 ReportTree에서 항목을 보내는데 효과적입니다. 즉, PrinterName2를 선택하면 SelectedTreeItem이 ReportName1의 기본보기 모델이됩니다.
내가 알아야 할 것은 어떻게 PrinterName2가 PrinterName1과 반대되는 것으로 선택되었는지 알 수 있습니까?
내 최종 목표는 트리에서 임의의 리프 또는 분기를 선택하고 선택한 리프 또는 분기 만 제거하는 것입니다.
이 방법이 있습니까?
감사합니다.
다음과 같이 정의 할 때 약간 분실되어 있습니다. SelectItem = new LazyCommand (ExecuteSelect); 감사. –
안녕하세요 Alan, LazyCommand는 모든 MVVM 프레임 워크에서 찾을 수 있으므로 ICommand 인터페이스의 일반적인 구현입니다. 때로는 RelayCommand와 같이 다르게 호출됩니다. 당신은 ICommand 인터페이스와 일부 MVVM 프레임 워크에 익숙합니까? 그렇지 않은 경우 http://msdn.microsoft.com/en-us/magazine/dn237302.aspx를 참조하십시오. – Marc
감사합니다. 한 가지는, (사소한 문제) TextBlock.InputBindings를 바인딩하면 TreeView SelectedItem 바인딩의 이전 작업 코드가 SelectedTreeItem에 바인딩되는 것 같습니다. SelectedTreeItem 속성은 설정되지 않습니다. 아이디어? –