2013-02-26 2 views
3

C# 프로젝트의 XAML에서 만든 DataGrid가 있습니다. 행에 컨텍스트 메뉴를 추가했습니다. 기본적으로 사용자가 셀을 직접 클릭하면 SelectionChanged 이벤트에 구현 된 현재 창에서 관련 항목을 열어야합니다.DataGrid에서 오른쪽 클릭 선택

사용자가 행을 오른쪽 클릭하면 행을 선택하지 않고 컨텍스트 메뉴가 표시되므로 컨텍스트 메뉴에서 항목을 선택하여 새 창에서 관련 항목을 열 수 있습니다. 따라서 이미 선택된 항목과 새 항목을 동시에 볼 수 있지만 오른쪽 클릭으로 행이 선택되면 사용자는 현재 창과 새 창에서 새로 선택한 항목을 볼 수 있습니다.

상황에 맞는 메뉴가 셀을 선택하지 못하도록 표시하려면 어떻게해야합니까?

답변

0

잠재 응답은 wpf listview right-click problem을 참조하십시오. 말할 것도없고 ... 미리보기 이벤트가 도움이 될 것입니다.

+0

이 작업은 작동하지 않습니다. 행은 XAML에 하드 코딩되지 않으며 바인딩이 사용됩니다. –

+0

사실, 샘플 코드는 그렇게 보일 수 있지만 기본적인 아이디어는 여전히 훌륭합니다. ItemContainerStyle을 제공해야합니다. ItemContainerStyle은 바인딩을 통해 생성되는 방법에 관계없이 (케이스 행에있는) 모든 항목에 적용됩니다. 수동으로). DataGrid의 정확한 구문은 약간 다를 수 있지만 예제를 찾을 수있을 것입니다. –