2012-11-24 2 views
0

Desktop WPF 응용 프로그램을 WinRT로 포팅 할 때 약간의 문제가 있습니다.WinRT AppBar가 컨텍스트에서 변경되거나 (오른쪽 클릭 무시)?

ItemsControl이 있는데 항목을 삭제/편집 할 때마다 항목마다 상황에 맞는 메뉴가 있습니다.

나는 PopupMenu가 WinRT에서 좋지 않으며 AppBar를 사용해야한다고 들었다.

내가 뭔가 잘못하고 있다고 생각하거나 오해 한 것 같습니다.

나는 그 옵션을 AppBar에 넣을 수 있다고 생각했는데, 요소를 선택하면 바를 팝업하고 필요한 부분을 클릭했다.

문제는 내 앱에서 마우스 오른쪽 버튼을 클릭 할 때 AppBar가 표시되어 버튼이 선택한 항목과 함께 표시된다는 것입니다.

다른 컨텍스트에서 AppBar의 레이아웃을 변경할 수 있습니까 (Microsoft에서 AppBar를 컨텍스트 메뉴없이 컨텍스트 메뉴로 사용하기를 원하기 때문에) 또는 코드를 통해 필요할 때만 표시 할 수 있습니까?

일부 App-Wide 옵션이 포함 된 TopAppBar와 ListView의 항목 컨텍스트 메뉴 용 BottomAppBar를 사용하는 것이 좋습니다.

어쩌면 나는이 모든 것을 잘못하고 있으며 다른 접근법을 사용하여 Listview 항목에 다른 옵션을 추가해야합니다.

답변

3

당신은 이것을 올바르게 생각하고 있습니다. AppBar은 필수가 아니고 선택 기반 명령을 모두 넣어야하는 곳입니다.

지침 herehere 다음대로 배열되어야한다고 제안한다

  • 네비게이션 커맨드는 선택에 관련된 TopAppBar
  • 명령이어야해야 BottomAppBar
  • 나머지 왼쪽 페이지 특정 명령은 오른쪽에 있어야합니다. BottomAppBar

컨텍스트 명령은 해당 명령에 대한 관련 항목이 선택되었을 때만 표시해야합니다. 따라서이 명령을 Visibility으로 설정해야합니다. 문맥 명령이있는 항목을 선택하면 AppBar이 자동으로 열립니다. IsOpen 속성을 설정하여 프로그래밍 방식으로 설정할 수 있습니다. IsSticky 속성을 통해 스티커 모드로 설정해야합니다.

MVVM을 사용하는 경우 위에서 언급 한 모든 ButtonAppBar 속성에 viewmodel 속성을 바인딩 할 수 있습니다.

WinRT XAML Toolkit에는 CustomAppBar 컨트롤이 있습니다. 아직 사용하지는 않았지만 귀하의 경우에 유용 할 수있는 몇 가지 추가 기능이 있습니다.