2014-07-14 12 views
1

WPF에서 약간의 입문 작업을하고 있습니다. (내 경험은 거의 독점적으로 웹 개발입니다.) RadContextMenu의 스타일 문제 인 것처럼 보입니다. .RadContextMenu에 추가 공간이 있고 자동 닫지 않습니다.

메뉴에 대한 XAML은 간단 충분하다 :

<telerik:RadContextMenu.ContextMenu> 
    <telerik:RadContextMenu EventName="Click" ItemsSource="{Binding NewEntityMenuItems}" StaysOpen="False"> 
     <telerik:RadContextMenu.ItemTemplate> 
      <DataTemplate> 
       <telerik:RadMenuItem Header="{Binding Text}" Command="{Binding MenuItemClickedCommand}" StaysOpenOnClick="False"></telerik:RadMenuItem> 
      </DataTemplate> 
     </telerik:RadContextMenu.ItemTemplate> 
    </telerik:RadContextMenu> 
</telerik:RadContextMenu.ContextMenu> 

런타임 결과는 다음과 같이 끝 :

enter image description here

당신이 볼 수 있듯이, 두 가지가있는 항목을 유혹 할 때 강조 표시된 영역, 다른 영역 내 하나. 메뉴 항목의 "외부 영역"을 클릭하면 명령이 호출되지 않지만 메뉴는 사라집니다. "내부 영역"(텍스트가있는 영역)을 클릭하면 명령은이 호출되지만 메뉴는 이 아니며이 사라집니다.

왜 다른 지역이 있습니까? 메뉴의 너비를 차지하는 영역을 하나만 가질 수 있습니까? 클릭하면 메뉴가 닫힙니 까?

답변

1

사용 ItemContainerStyle :

<n:RadContextMenu ItemsSource="{Binding ContextMenuItems}"> 
    <n:RadContextMenu.ItemContainerStyle> 
     <Style TargetType="n:RadMenuItem"> 
      <Setter Property="Header" Value="{Binding Name}" /> 
      <Setter Property="Command" Value="{Binding Command}" /> 
      <Setter Property="ItemsSource" Value="{Binding Items}" /> 
      <Setter Property="IsSeparator" Value="{Binding IsSeparator}" /> 
     </Style> 
    </n:RadContextMenu.ItemContainerStyle> 
</n:RadContextMenu> 
관련 문제