2017-01-24 4 views
-1

TreeView에서 새 항목을 생성하는 ViewModel의 메서드에 FrameworkElement 개체를 보냅니다.왜 frameworkElement의 SelectedItem에 액세스 할 수 없습니까?

public void NewFile(FrameworkElement frameworkElement) 

내가 디버깅 할 때 내가 잡아하고자 할 때, 내가 예를 들어, frameworkElement의 selectedItem가있는 것을 볼 수 있지만,

frameworkElement.SelectedItem.ID 

그럴 수 없습니다. Intellisense는 그 선택권을주지 않습니다. 왜 안돼? 그리고 물론, SelectedItem의 ID를 어떻게 얻습니까?

System.Windows.Controls.TreeView treeView = frameworkElement as System.Windows.Controls.TreeView; 

Parameter selectedParameter = treeView.SelectedItem as Parameter; 
int id = selectedParameter.ID; 
+3

을 selectedItem가이 FrameworkElement 클래스의 속성이 아니기 때문에 : –

+0

감사합니다. 귀하의 의견은 훨씬 명확하고 도움이 될 수 있지만, 제대로 작동 할 수있었습니다. – Igavshne

답변

1

나는 다음과 같이이 헹크 Holterman의 의견에 따라, 작업 할 수있었습니다. ItemsCollection에 유형을 변환하고 항상 작동하도록 논리를 구성해야합니다.