はありまItemsControlに相当するテキストコンテンツ?
-
12-09-2019 - |
質問
しているのか教えてくださいデータが存在そのものによって、 FlowDocument
.これは基本的には景を説明するデータをより分かり易い方法で第ヘッダー、パラグラフのテキスト等 を表示します、FlowDocumentScrollViewer.
それを実現するために、私を作りたいと思っている箇条書き(<List>
のことは忘れて、いい準備をして内容の ObservableCollection
.私は知っていると ItemsControl
, もういい ListItem
要素により、 FlowDocument
, ているの TextElement
クラス階層ではなく、 Control
階層?があるのと同等のもの ItemsControl
テキスト内のコンテンツ TextBlock
または FlowDocument
?
編集: の 第 セルゲイ-リンクに最適です。この記事のコードのみを使用してくださ Section
または TableRowGroup
としてのパネルのない支援を <List>
.たが、些細な修正--をうかがわせるものとなっているを追加することによりコードのために停止してしまうの ItemsContent.GenerateContent
, 直前の最終 else
:
else if (panel is List)
((List) panel).ListItems.Add((ListItem) element);
解決
あなたが探していることは可能ですが、コーディング、かなりの量が必要です。幸いなことに、ヴィンセント・ヴァン・デンベルグフはhref="http://msdn.microsoft.com/en-us/magazine/dd569761.aspx"は、柔軟なUIを作成rel="noreferrer"> に、!
と他のヒント
の代わりに使用 FlowDocument
, 利用できる ItemsControl
の変更などをパネル表示に使用するアイテムを例文、ネイティブ WrapPanel.ることができま利用 ItemsControl
がいいと思いますが、変更、表示意味論を WrapPanel
(まとめていきたいと思い機能のように FlowDocument
.んでいて思ったこと。
<ItemsControl>
<ItemsControl.ItemsPanelTemplate>
<WrapPanel />
</ItemsControl.ItemsPanelTemplate>
</ItemsControl>
を設定できる物件の内 WrapPanel
していきます。
私はあなたのリストの要素を探していると思います: http://msdn.microsoft.com/en-私たち/ライブラリ/ system.windows.documents.list.aspxする
気泡緩衝材は、いくつかの詳細を指摘します。あなたは可能性が高いのListItemプロパティにバインドし、型ListItemsCollectionのリストに自分のソースリストを変換するValueConverterを使用する必要があると思います。
気泡緩衝材は、これが読み取り専用であることとListItemsCollection内部コンストラクタを持っていることを指摘しています。だから... ...
私は何をしなければならないと思いますが、このだと思います:
<ContentControl Content="{Binding TheArrayOfText, Converter={StaticResource StringsToListConverter}" />
これはかなり残念なことですが、私はそれが仕事だと思います。あなたは、新しいListオブジェクトを作成し、各項目に.Add(
呼び出すために、コンバータを記述する必要があると思います。