2012-11-01 1 views
0

"ContextMenu"클래스를 ComponentArt에서 상속받는 컨텍스트 메뉴의 클래스가 있습니다.Silverlight의 스크롤 가능한 상황에 맞는 메뉴

전체 계층 구조는 다음과 같습니다

ChartContextMenu 
    ComponentArt.ExtendedContextMenu 
    ComponentArt.ContextMenu 
     ComponentArt.Menu 
     ItemsControl 

이 메뉴는 자신의 XAML, 단지 코드와 같은 XAMLs에 부착되지 않은 :

<context:ChartContextMenu x:Name="contextMenu" Theme="{StaticResource Windows7Theme}" />. 

문제가 :이 메뉴를 스크롤하고 싶습니다 .

XAML (ScrollableView로만 둘러 쌓여 있음)이있는 경우를 대비하여 메뉴를 스크롤 가능하게 만드는 방법을 알고 있습니다. 그러나 XAML을 사용하지 않고이를 수행하는 방법은 무엇입니까?

+0

무엇을 자신의 래퍼에 대해, 단순히 컨트롤 주위에있는 ScrollView를 추가 느릅 나무? –

+0

코드에서만 수행 할 샘플/문서를 찾을 수 없습니다. 대부분의 자원은 xaml에서 scrollableview의 메뉴를 감싸는 것을 권장하지만, my와 비슷한 대소 문자는 말할 필요가 없다. –

답변

0

해결 방법은 다음과 같습니다. 코드에서만 컨트롤을 생성해야합니다. 그 나쁜 연습! xaml/코드를 혼합하십시오. 나는 그것이 어떤 문제를 해결할 것이라고 확신한다. p.s. 은 또한 당신은 프로그래밍 방식으로 컨트롤을위한 템플릿을 만들 수는 없지만 다음과 같은 코드에서 XAML 문자열에서로드 할 수 있습니다

public static DataTemplate Create(Type type) 
{ 
    return (DataTemplate) XamlReader.Load(
     @"<DataTemplate 
      xmlns=""http://schemas.microsoft.com/client/2007""> 
      <" + type.Name + @"/> 
      </DataTemplate>" 
    ); 
}