RichTextBox
コントロールを使用して、ユーザーがテキストの特定の部分(およびそれらの部分のみ)を編集できるようにしようとしています。WPF RichTextBoxトークン化編集
私のアプローチは、InlineUIContainer
タグに含まれるTextBox
タグをFlowDocument
に含めることです。以下のコードは、私がこれまでに成し遂げてきたことを示しています。
<RichTextBox IsDocumentEnabled="True">
<FlowDocument>
<Paragraph>
<InlineUIContainer >
<TextBox Text="Field" MinWidth="65"></TextBox>
</InlineUIContainer>
<InlineUIContainer>
<TextBlock Text="Some text..." ></TextBlock>
</InlineUIContainer>
</Paragraph>
</FlowDocument>
</RichTextBox>
これに伴う問題は、ユーザーが悪化し、彼らは任意のテキストを編集することができます...それらをFlowDocument
内の要素を選択して削除することが可能であることですRun
要素の一部、またはドキュメント内のテキストを切り取り/貼り付けることさえできます。
私はRichTextBox
のIsReadOnly="True"
を設定する考えがありましたが、TextBoxesの編集も無効になっています...また、PreviewKeyDownも処理できますが、すべての状況に対応できません(右クリックして貼り付ける)。
代わりの解決策があるのか、それとも代替ライブラリまたはサードパーティコントロールが役立つのか疑問に思っていました。 true
にfalse
にTextBox
のIsReadOnly
プロパティを設定し、RichTextBox
のIsReadOnly
プロパティについて
は、それが動作信じることができません:Dのおかげで。 –
ニース。 'IsReadOnly'が継承されたプロパティであるとは思っていませんでした。 –