0

ページ ビュー ペインに表示される多くの XAML ページの 1 つを選択するナビゲーション バーを含む MainView があります。MainView には、ページの周りに ScrollViewer が含まれています。これにより、ページを必要なサイズにすることができ、MainView の ScrollViewer がページをスクロールします。これはすべてうまくいきます。

ページの 1 つで、(場合によっては) TextBox をページ ビュー ペインの中央 (ページ コンテンツの上部) に配置する必要があります。これは、ページ コンテンツと TextBox の両方を Grid 内で互いに重なるように配置することで簡単に実行できました (必要に応じて TextBox を非表示にしています)。これはすべてうまくいくようです。

ただし、ページ コンテンツがペインよりも大きくなると、TextBox はペインではなくページ コンテンツ全体の中央に配置されます。したがって、画面の中央から下および/または右に移動します(最終的には画面から外れます)。残念。

オプション:

  1. MainView から ScrollViewer を削除します。これには、すべてのページに配置する必要があります。ああ。

  2. オプション #1 を実行し、ScrolledPage 基本クラスを作成します。これは大変な作業で、ツールの問題 (ブレンドの問題) が心配です。また、すべてのページを変更する必要があります (このページをサブクラス化するため)。

  3. どういうわけか、このページだけで ScrollViewer をオーバーライドします。次に、ページ コンテンツに別の ScrollViewer を配置してスクロールします。

オプション 3 は、(残りのページを変更するのではなく) このページを変更するだけの問題が含まれているため、望ましいと思われます。しかし、私はそれを行う方法を理解できません。アイデア?

前もって感謝します!

エリック

4

1 に答える 1

0

その TextBox を ScrollViewer と一緒に Grid に入れないのはなぜですか?

お気に入り

<Grid>
  <TextBox 
    Text="{Binding Path=MyText}" 
    Visibility="{Binding SomeProperty}" 
    HorizontalAlignment="Center" 
    VerticalAlignment="Center" />
  <ScrollViewer />
</Grid>

乾杯、アレックス

于 2010-05-19T21:05:04.927 に答える