問題タブ [flowdocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1148 参照

wpf - FlowDocumentをプログラムでBAMLに保存できますか?

FlowDocumentをBAMLまたはその他の圧縮形式で保存する方法を見つけた人はいますか?画像付きのXMLをインポートして、新しいFlowDocumentを作成できます。

ただし、「ネイティブ」圧縮形式で保存するための適切な方法は見つかりませんでした。非圧縮XAMLは、次を使用して簡単に生成できます。

しかし、それを圧縮形式で保存するためのプログラム的な方法はありますか?

既存のメソッドがない場合、プログラムによるXAMLコンパイラの場所を知っている人はいますか?それともBAML仕様だけですか?FlowDocumentが埋め込まれたXAMLウィンドウ全体をプログラムで生成することもできますが、ロード時間を短縮するためにXAMLをBAMLに変換したいと思います。私は比較的大きなrtfドキュメントを使用しており、DataFormats.Rtfを使用した変換時間は重要です。

0 投票する
0 に答える
3614 参照

xaml - Xaml FlowDocument テーブル - 複数ページのテーブルの各ページのヘッダーを取得する方法は?

複数のページにまたがる多数の行を持つテーブルを含む XAML FlowDocument があり、この FlowDocument を XPS に変換しています。

現在、各ページでテーブルのヘッダーを繰り返す方法を探しています。

私は2つの可能なアプローチを見ます:

  1. テーブルを取得して、各ページにヘッダーを自動的に印刷します。

  2. どういうわけか、プログラムでページが保持できる行数を見つけ、そこでテーブルを停止し、次のページで同じコンテンツとヘッダーを持つ新しいテーブルを開始します。

これまでのところ、両方のアプローチで運がありませんでした。FlowDocument テーブルを改ページする方法を誰かが知っているのではないでしょうか?

0 投票する
2 に答える
2840 参照

.net - WPF FlowDocument 段落インラインの長さ

FlowDocument コントロールを使用する場合、WPF Document.Paragraph オブジェクトに制限はありますか?

Paragraph に 450 行を超える Paragraph を追加すると、FlowDocument が空白になります。max に関する MSDN ドキュメント内には何も見つかりませんでした。長さなど

なぜこれが起こるのでしょうか?

0 投票する
5 に答える
10253 参照

c# - コードからWPF FlowDocumentScrollViewerをスクロールしますか?

テキストが追加されたときに自動的に一番下までスクロールしたい FlowDocumentScrollViewer があります。

コードでは、段落にインラインを追加しますが、テキストが多すぎる場合は、ユーザーにスクロールさせるのではなく、コードを使用して簡単にスクロールできるようにしたいと考えています。

助言がありますか?

0 投票する
5 に答える
6855 参照

wpf - FlowDocumentの波状の下線

WPFでは、要素に波状の下線(Wordのスペルミスなど)を追加する簡単な方法はありFlowDocumentますか?クラスはありますがUnderline、スタイルを設定する方法がないようです。

0 投票する
2 に答える
5932 参照

wpf - WPF / XAML:Typography.Capitalsは効果がないようです

これらのテキストはすべて同じように見えますが、私はそれらを異なって見せようとしています。スモールキャップスのテキストが必要です。スモールキャップスのタイポグラフィ効果を機能させるために、ここで何が欠けていますか?

これを再現するには、Visual Studio 2008を開き、[ファイルの実行] | [新しいプロジェクト]を開き、新しいWindows | WPFアプリケーションを作成し、以下のマークアップをWindow1.xamlに貼り付けて、実行します。


最初の答えに基づくと、特定のフォントを指定すると、どこかに到達できるようです。FlowDocument開始タグを次のように変更します。

..そして、SmallCapsとAllSmallCapsを取得しますが、PetiteCapsまたはAllPetiteCapsは取得しません。したがって、フォントによって異なります。しかし、これは他の質問を引き起こします:

  • デフォルトのフォント(Times New Romanによく似ています)がこれらをサポートしていないのはなぜですか?
  • 他の広く使用されているフォント(たとえば、ローカルのCourier Newに相当するもの)はこれらをサポートしていますか?
  • どのフォントが何をサポートしているかのリストはありますか?
  • これをサポートするフォントの割合は何パーセントですか?ほとんど、一部、または少数ですか?
  • フォントが何をサポートしているかをコードで判断できますか?この場合、AllSmallCapsを偽造できます。たとえば、テキストをすべて大文字に変換し、80%スケーリングします。しかし、SmallCapsではありません。
0 投票する
2 に答える
9781 参照

html - WPF FlowDocument への HTML フラグメントの挿入

データソースから WPF FlowDocument を動的に構築しています。データ要素の 1 つは HTML のフラグメントです。これを解析して FlowDocument に挿入する方法を見つける必要があります。

HTML の XAML 表現を返すHTMLToXAMLConverterを見つけましたが、FlowDocument に挿入できるようにその XAML フラグメントをインスタンス化する最善の方法がまだわかりません。

0 投票する
3 に答える
5043 参照

c# - WPFを使用したスト​​リーミングリッチテキストの表示

ソケットを介してデバイスに接続し、ストリーミングテキストデータ(1秒あたり約1メッセージ)を取得するWPFアプリケーションがあります。このデータはUIに表示されます。ユーザーは、「データに「abc」が含まれている場合は行を強調表示する」「…太字にする」などのルールを作成できるため、プレーンテキスト出力では機能しないため、「リッチ」テキストである必要があります。

これに対する私の現在の解決策は、フォーマットされた出力を含むFlowDocumentをViewModelに含めることです。ビューには、ViewModelのFlowDocumentにバインドされたFlowDocumentScrollViewerがあります。

これは機能しますが、FlowDocumentが大きくなると(約6,000行)、パフォーマンスが低下し始めます。現在のアルゴリズムでは行数が10,000に制限されていますが、状況はさらに悪化し、アプリが使用できなくなります。10,000行に達したら、追加されたすべての行の行を削除します。その結果、FlowDocumentScrollViewerは新しい行ごとに2つの更新通知を受け取ります。

バッチ削除する方法を見つけようとしましたが(10,000行に達したら、最も古い1,000行を削除します)、FlowDocumentに一括削除はありません。1,000回ループして削除を実行すると、1,000回の更新通知が発生し、UIがロックされます。

それが私の問題です、ここに私の質問があります:

WPFを使用してストリーミングリッチテキストコンテンツを表示するための最良の方法は何ですか? 1秒あたり最大1つのメッセージを受け取り、各メッセージは最大150文字であり、最後の10000メッセージを保持したいと思います。私はこれを間違った方法で行っていますか?パフォーマンスが向上する他のコントロール/オブジェクトはありますか?

編集:ここにいくつかの要件があります

  • 出力テキストを印刷できる必要があります
  • 別のドキュメントに貼り付けることができるように、出力テキストを選択してコピーできる必要があります