簡體   English   中英

WPF RichTextBox標記化編輯

[英]WPF RichTextBox tokenized editing

我試圖讓用戶使用RichTextBox控件編輯文本的特定部分(並且只編輯那些部分)。

我的方法包括在FlowDocument中使用InlineUIContainer標記中包含的TextBox控件。 下面的代碼顯示了我迄今為止所取得的成就:

<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但是無法處理所有情況(即:右鍵單擊並按下粘貼)。

我想知道是否有任何替代解決方案,甚至是替代庫或第三方控件都有幫助。

如何將TextBoxIsReadOnly屬性設置為false並將RichTextBoxIsReadOnly屬性設置為true IsReadOnly

<RichTextBox IsDocumentEnabled="True" IsReadOnly="True">
    <FlowDocument>
        <Paragraph>
            <InlineUIContainer >
                <TextBox Text="Field" MinWidth="65" IsReadOnly="False"></TextBox>
            </InlineUIContainer>
            <InlineUIContainer>
                <TextBlock Text="Some text..." ></TextBlock>
            </InlineUIContainer>
        </Paragraph>
    </FlowDocument>
</RichTextBox>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM