0

片側に多数のコントロールを含む入力フォームとして使用される WPF ページと、反対側にフロー ドキュメント リーダーがあります。

このドキュメント リーダーのコンテンツを、フォームが読み込まれたときに読み込まれるフロー ドキュメントの特定の部分に設定したいと考えています (読み込まれたイベントを介して)。

フラグメントを使用してこれを行う方法を説明する記事を見つけましたが、示されている例は XAML でのみ表現されています。

私の場合、ユーザーがコントロールの 1 つにフォーカスを与えたときに、フロー ドキュメント リーダーのドキュメント プロパティを更新する必要があります (既にイベントを接続しています)。そのため、XAML ではなくコード ビハインドでこれを行う必要があります。

ドキュメント プロパティを次のように設定しようとしました。

Document#Control_Sport

ここで、Document は XAML フロー ドキュメントの名前、Control_Sport は移動先のフラグメントの名前です。

ただし、これはエラーになります。ハッシュ記号がそこにあるのは好きではありません。

MSDN を調べてみましたが、その XAML のみです。コードでこれを行う方法はありますか?

どんな助けでも大歓迎です。

フェリックス

MSDN 記事へのリンク: http://msdn.microsoft.com/en-us/library/ms750478.aspx#FragmentNavigation

4

2 に答える 2

1

を呼び出して、Block内の任意の場所に移動できます。FlowDocumentBlock.BringIntoView

于 2010-02-02T04:08:34.553 に答える
1

まず、Page オブジェクトまたは Window オブジェクト内に Frame オブジェクトを作成します。JournalOwnershipプロパティを に設定する"OwnsJournal"と、ドキュメントに独自のナビゲーション バー (前後の矢印と履歴) が表示されます。ドキュメント内のフレームのサイズと位置を指定するには、おそらく追加のパラメーターを追加する必要がありますが、アプリに何が必要かがわからないため、この例にはそれらを含めませんでした。

<Frame Name="MyFrame" JournalOwnership="OwnsJournal" />

次に、ドキュメント フラグメントのパック URI を作成します。このドキュメントは、アプリケーションの実行可能ファイルと同じディレクトリにあると想定されています。プロジェクト内のドキュメントが存在するディレクトリに移動するには、パスにさらに追加する必要があります。

Uri MyUri = new Uri("pack://application:,,,/MyXamlDocument.xaml#MyFragment");

次に、ボタンの Click ハンドラー内から、またはナビゲーションを開始するその他の方法で移動します。

MyFrame.Navigate(MyUri);
于 2013-10-29T17:54:22.433 に答える