참고 : 나는 MVVM 라이트 툴킷 및 MahApps.MetroWPF Mahapps - 햄버거 메뉴 컬렉션 내에서 탭을 숨기는 방법?
을 사용하고 그래서 난 내 응용 프로그램 내 HamburgerMenu
제어, 그것은 HamburgerMenuItemCollection
내 HamburgerMenuImageItem
의이 포함되어 있습니다. 내가하고 싶은 것은 한 사용자를 숨기고 어떤 사용자가 로그인했는지에 따라 다른 항목을 표시하는 것입니다. 나는 모든 정보를 가지고 있으며, 사용자가 누구인지, 탭을 볼 수 있는지 여부는 알고 있지만 어떻게 탭을 숨길 지 모르겠다.
<controls:HamburgerMenu>
<controls:HamburgerMenu.ItemsSource>
<controls:HamburgerMenuItemCollection>
<controls:HamburgerMenuImageItem Label="Global">
<controls:HamburgerMenuImageItem.Thumbnail>
<BitmapImage UriSource="../../Resources/Icons/test.png" />
</controls:HamburgerMenuImageItem.Thumbnail>
<controls:HamburgerMenuImageItem.Tag>
<views:GlobalView />
</controls:HamburgerMenuImageItem.Tag>
</controls:HamburgerMenuImageItem>
<controls:HamburgerMenuImageItem Label="Local">
<controls:HamburgerMenuImageItem.Thumbnail>
<BitmapImage UriSource="../../Resources/Icons/test.png" />
</controls:HamburgerMenuImageItem.Thumbnail>
<controls:HamburgerMenuImageItem.Tag>
<views:LocalView />
</controls:HamburgerMenuImageItem.Tag>
</controls:HamburgerMenuImageItem>
</controls:HamburgerMenuItemCollection>
</controls:HamburgerMenu.ItemsSource>
</controls:HamburgerMenu>
콘텐츠와 관련성이없는 것으로 보이는 코드가 더 있습니다 (콘텐츠를 표시하기위한 DataTemplates).
가능한지 확신 할 수 없지만 로컬 탭을 볼 수없는 User
에 로그인하면 로컬 탭이 숨겨집니다.
평상시와 마찬가지로, mm8. :) 또한 MVVM 방식으로이 작업을 수행 할 수있는 방법이 있다고 생각합니까? 결국 ViewModel에서 수행 한 모든 작업 (음, 95 %)이 완료되었습니다. – Desomph
글쎄, 당신이보기에서 HamburgerMenuImageItem을 만들고 있기 때문에 뷰에서 그것을 제거 할 수도 있습니다. MVVM 방식은 뷰 모델에서 정의한 (데이터) 항목 컬렉션에 바인딩 한 다음 뷰의 각 데이터 유형에 대한 템플릿을 정의하는 것입니다. – mm8
나는 그것을 얻는다 : 나는 그것을 나중에 MVVM하려고 노력할 것이다. 다시 한 번 감사드립니다! – Desomph