0

ComponentArt から「ContextMenu」クラスを継承するコンテキスト メニューのクラスがあります。

完全な階層は次のとおりです。

ChartContextMenu
  ComponentArt.ExtendedContextMenu
    ComponentArt.ContextMenu
      ComponentArt.Menu
        ItemsControl

このメニューには独自の XAML はなく、次のようにコードを記述して XAML にアタッチするだけです。

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

問題: このメニューをスクロール可能にしたいと考えています。

XAML がある場合にメニューをスクロール可能にする方法を知っています (ScrollableView にエンベロープするだけです)。しかし、XAML なしでそれを行うにはどうすればよいでしょうか。

4

1 に答える 1

0

その回避策のように見えます。コードだけでコントロールを作成するべきではありません。その悪い習慣!xaml/コードを混在させてみてください。きっとどんな問題も解決します。ps また、コントロールのテンプレートをプログラムで作成することはできませんが、次のようなコードで XAML 文字列から読み込むことができます。

public static DataTemplate Create(Type type)
{
    return (DataTemplate) XamlReader.Load(
        @"<DataTemplate
            xmlns=""http://schemas.microsoft.com/client/2007"">
            <" + type.Name + @"/>
          </DataTemplate>"
      );
}
于 2012-11-01T15:11:36.670 に答える