2016-10-16 6 views
2

각 객체에 ContextMenu을 추가하고 싶습니다.프로그래밍 방식으로 MahApps.Metro 컨텍스트 메뉴 추가 <code>StackPanel</code>에 동적 내용을로드 할 때부터

지금은 System.Windows.Controls.ContextMenu으로 처리하고 있습니다.

불행히도 메뉴는 이전 Window 양식처럼 보이며 MahApps의 멋진 메뉴를 좋아하지 않습니다.

인터넷 페이지에서 xaml에 menue를 추가하는 방법은 문서를 찾을 수 있지만 코드를 통해 메뉴를 만드는 방법은 찾을 수 없습니다.

의견이 있으십니까? MahApps.Metro에서 찾고 당신의 도움 :)

답변

1

에 대한

덕분에 나는의 ContextMenu의 Style가 키 MetroContextMenu을 가지고 있음을 발견했다.

그래서 CodeBehind에서 일반 ContextMenu를 만들면됩니다. 다음은 그것은 당신의 App.xaml

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! --> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.ContextMenu.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" /> 
      <!-- Accent and AppTheme setting --> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Green.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
    <!-- Apply MetroStyle for ContextMenu to ContextMenus in Application scope --> 
    <Style TargetType="ContextMenu" BasedOn="{StaticResource MetroContextMenu}" /> 
</Application.Resources> 

에 다음 Style입니다 추가 할 수 있습니다 만이 ContextMenu에 적용해야하는. MahApps에서 제공하는 특별한 ContextMenu 컨트롤은 없습니다 (Style!).

+0

대단히 고마워요. – Cluster2a