[英]How to have different colors in a WPF textbox
是否可以使只讀WPF文本框顯示前3個字符為一種顏色,其余7個字符為不同顏色。 我可以用降價給出的最好的例子是201 103/478 。
客戶要求這樣做的原因是因為庫存編號具有以下格式YYYYMM / 999。 客戶有90%以上的時間以YMM / 999格式引用庫存編號。 請求是YYY字符以淺灰色顯示,其余的YMM / 999字符以標准黑色顯示。
當前,使用文本框控件,因為庫存號必須能夠復制到剪貼板並允許通過上下文菜單進行排序。 如果另一個控件更適合滿足着色,復制和排序要求,則該解決方案是可以接受的。
@Vlad引導我朝着正確的方向提出以下答案。
<TextBlock HorizontalAlignment="Right">
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="Sample"/>
</ContextMenu>
</TextBlock.ContextMenu>
<Span Foreground="Gray"><Run Text="{controls:Binding Path=StockNumberPrefix}"/></Span><Run Text="{controls:Binding Path=ShortStockNumber}" Margin="0"/>
</TextBlock>
您確定您確實需要一個TextBox
嗎? 如果可以使用TextBlock
,則可以將前3個字符放入不同的Span
(可以具有自己的Foreground
畫筆)。 這樣,您將無法通過綁定設置文本。
(如果這很重要,則可以將TextBlock
樣式更改為類似於TextBox
樣式。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.