簡體   English   中英

如何在WPF文本框中使用不同的顏色

[英]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.

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