2011-09-05 1 views
0

2 개의 격자가있는 사용자 정의 컨트롤이 있습니다. 이제 포커스가있는 표를 가져 와서 내 뷰 모델에 표시 할 수있게하려고합니다. WPF에서 어떻게하면됩니까? 포커스가있는 Grid의 이름으로 내 뷰 모델에서 속성을 채 웁니다. 쉽지 않은 것 같습니다.WPF에서 UserControl의 소유 속성

아무도 도와 줄 수 있습니까?

Thx!

답변

0

UI 요소 나 특정 부분을 뷰 모델에 표시하는 경우 디자인을 다시 고려해야합니다. 일반적으로 뷰 모델은 특정 UI 요소를 알지 않아야합니다. UI 요소의 이름으로 정확히 무엇을하고 싶습니까? 당신은 당신이 이름이 지금에 기록 될 수

private static void OnGridGotFocus(object aSender, RoutedEventArgs aE) 
{ 
    string name = (string)(aSender as DependencyObject).GetValue(NameProperty); 
} 

통해 검색 할 수

<Grid x:Name="Grid1" GotFocus="OnGridGotFocus"/> 
<Grid x:Name="Grid2" GotFocus="OnGridGotFocus"/> 

처럼 두 개의 그리드 에 GotFocus 이벤트를 듣고이 방법, 당신의 UserControl에이 방법을 추가 할 수 있습니다 뷰 모델에 바인딩하는 DependencyProperty. 그러나 다시, 나는 아직도 당신이 이것을해서는 안된다고 생각합니다.

달성하고자하는 것이 정확히 무엇인지 설명하면 어쩌면 우리가 더 잘 도와 줄 수 있습니다.

+0

답장을 보내 주신 Thx. 그리드의 내용을 Excel 파일에 저장하는 뷰가있는 버튼이 있습니다. 그러나 올바른 파일을 작성하려면 어떤 그리드에 포커스가 있는지 알아야합니다. 그래서 내 눈금에 포커스가있는 내 usercontrol (2 grids 함께) 검색하는 방법이 필요합니다. – PitAttack76

+0

WPF의 Layouter 인 Grid를 Excel 파일에 정확히 어떻게 작성합니까? 어쩌면 당신은 뭔가 다른 것을 의미 할 수도 있습니다. – dowhilefor

+0

저는 이것이 오래된 것임을 알고 있습니다.하지만 WPF 그리드를 Excel 파일에 쓰는 방법에 대해서는 대답하지 않았습니다. 그리드 데이터 소스는 컬렉션이고 EPPlus dll을 사용하여 컬렉션을 Excel 파일에 씁니다. 그것을 수행하는 훌륭한 도구 인 엑셀 파일을 만들어야 할 필요가 있다면, 나는 그것을 항상 사용합니다. – PitAttack76