2

この質問をした後、おそらくもっと一般的な質問をするべきだったと気づきました。だから、ここに行きます:

WPF で、Panel から派生したカスタム コントロールを作成しています。そのコントロールに、水平スクロールバーと垂直スクロールバーを追加して、それらを自分で制御したいと思います(最小/最大/値/ページサイズを取得して設定します)。これどうやってするの?

これは WPF との最初の出会いであり、テンプレートとスタイルにまだ慣れていないため、答えがそこにあるのか、他の場所にあるのかわかりません。

4

3 に答える 3

2

OK、見つけました!3つの簡単なステップ:

  1. カスタムコントロールに実装System.Windows.Controls.Primitives.IScrollInfoします。
  2. ScrollViewerカスタムコントロールを;に追加します。
  3. CanContentScrollのプロパティをに設定しScrollViewerますTrue

出来上がり!

于 2009-08-31T14:21:37.720 に答える
1

はい。答えは Panel ではなく、ScrollViewerにあります。パネルはスクロールバーを気にするべきではありません。ScrollViewer にパネルの測定と配置を任せます。したがって、ビジュアル ツリーには最初に ScrollViewer が含まれ、次にパネルが含まれます。

    <ScrollViewer> 
      <cc:YourPanel/>
    </ScrollViewer>

ScrollViewer を制御したい場合は、おそらくそれを継承するか、そのテンプレートをカスタマイズする必要があります。

于 2009-08-31T13:57:20.033 に答える