我正在尋找顯示帶有波浪紅線的文本,其中一個單詞拼錯,但我只希望文本是可選擇的,而不是可編輯的。如果我將TextBox的IsReadOnly屬性設置爲True或IsEnabled爲False,那麼波浪形的紅線會消失,並且我無法通過將透明的東西繞過它,因爲這會阻止用戶選擇文本的各個部分。WPF:在只讀文本框上使用拼寫檢查
是否有反正我可以保持紅線,允許文本是可選的,但防止實際文本被修改?
感謝
我正在尋找顯示帶有波浪紅線的文本,其中一個單詞拼錯,但我只希望文本是可選擇的,而不是可編輯的。如果我將TextBox的IsReadOnly屬性設置爲True或IsEnabled爲False,那麼波浪形的紅線會消失,並且我無法通過將透明的東西繞過它,因爲這會阻止用戶選擇文本的各個部分。WPF:在只讀文本框上使用拼寫檢查
是否有反正我可以保持紅線,允許文本是可選的,但防止實際文本被修改?
感謝
謝謝大衛。我目前正在尋找2種可能的解決方案,你的和以下內容:
我已經創建了一個基於標準TextBox的自定義控件,但實際上在這個莊園中有兩個文本框放在另一個之上:
<TextBox Name="tbxBack"
Foreground="Transparent"
SpellCheck.IsEnabled="True"
TextWrapping="Wrap"
SnapsToDevicePixels="True"/>
<TextBox Name="tbxFront"
Background="Transparent"
TextWrapping="Wrap"
SnapsToDevicePixels="True"
IsReadOnly="True"/>
我認爲這是非常直接的發生在這裏,但我擔心這會造成潛在的開銷。
我正在研究雙TextBox解決方案的原因是我擔心如果我嘗試並取消該事件,它可能最終會在控件出現某種閃爍時更改文本。
你可以掛接到文本框的文本改變事件,只是拒絕新的文本。它將具有隻讀的相同效果,而不會使文本框變灰或取消拼寫檢查。