2013-09-30 2 views
0

내가 생성하고MenuItem의 코드에서 하위 메뉴 삼각형을 켜는 방법은 무엇입니까?

SubTitle.Items.Add(..); 

이 팝업 하위 메뉴 잘 작동에 따라 내 자신의 상황에 맞는 메뉴와 그룹에 하위 메뉴에 항목을 설정, 거의 모든

나는 하위 메뉴를 얻을 수 없다 ... 좋은 ..하지만 표시 할 삼각형 UNLESS 저는 MenuItem 역할 (스타일에서 트리거로 설정할 수 있음)을 예 : TopLevelHeader 등

MenuItem.Role에는 직접 설정자가 없으므로 하위 메뉴 MenuItems를 XAML 정적 객체로 만들어야합니다. 그런 다음 좋은 스타일을 부여하여 하위 메뉴 삼각형도 가져옵니다.

문제는 내 컨텍스트 메뉴가 프로그래밍 방식으로 예를 들어. DB 및 정적 XAML MenuItems 재사용 할 경우 그들을 재사용 할 수 전에 부모 관계를 중단하려면 가비지 수집기 설정해야합니다 및/또는 내가 이러한 요소 중 미리 알고 있어야합니다.

어떤 식 으로든가 있습니까 :

MenuItemThatIsTitle.Role = MenuItemRole.TopLevelHeader; 
//(in order to get the triangle?) 

코드를 ..from

?

===

예시적인 코드 - 코드에서 컨텍스트 메뉴의 하위 메뉴를 추가 없음

  contextM.Items.Add(new Separator()); 
      var TitleH = new MenuItem 
      { 
        Header = SettingsDomain.Default.TitleHeader, 
        FontWeight = FontWeights.Bold, 
        Height = 25, 
        IsEnabled = true, 
      }; 

      if (!(TitleH.Items.Count > 0)) 
      //TitleH.Role = MenuItemRole.TopLevelHeader; to get the triangle.. 
      { 
       var listmen = List.Select(c => cMenuItem(c)).ToList(); 
       TitleH.ItemsSource = listmen; 
      } 

      contextM.Items.Add(TitleH); 
      contextM.Items.Add(new Separator()); 

NB 없음 관련 XAML을

+0

무엇 ?? 대신에'ItemsSource'를 쓰지 않으시겠습니까? 당신은 할 수없는 WPF를 당신의 의지로 굽히려고합니다. 그것은 다른 방향입니다. –

+0

글쎄, 지금 당신의 제안을 시도하고 ItemsSource에 준 목록에 항목을 추가 ... 동일한 삼각형이 나타나지 않는다? – Ulthien

+0

관련 코드와 XAML을 게시하십시오. –

답변

0

해결책 : 일부 메뉴의 폭을 설정하지 깔끔한 너비를 사용하면 메뉴의 오른쪽 측면을 단순히 사라질 하위 메뉴 표시 (삼각형)로 잘라냅니다.