簡體   English   中英

從WPF中的資源文件綁定占位符

[英]Binding placeholder from resource file in WPF

在我的資源文件中

LOCKER NO. {0} IS OPEN

我需要將資源文件綁定到文本框,並想在前景為紅色的地方放置紙架中動態設置值。

下面顯示了我的代碼

   <TextBlock x:Name="Title" Margin="0,70,0,0"
               HorizontalAlignment="Center"
               VerticalAlignment="Top"
               FontSize="42"
               FontWeight="SemiBold"
               Foreground="#888888"
     >
        <TextBlock.Text>
            <MultiBinding  StringFormat="{x:Static prop:Resources.LockerNumberIsOpen}">
                <Binding  Path="PrefixWithNumber"/>

            </MultiBinding>
        </TextBlock.Text>
    </TextBlock>

如何將{0}內的值顯示為紅色?

從后面的代碼中我們可以做

Title.Text = string.Format(Properties.Resources.LockerNumberIsOpen, (this.DataContext as OpenParcelViewModel).PrefixWithNumber);
            var tr = this.Find((this.DataContext as OpenParcelViewModel).PrefixWithNumber);
            tr.ApplyPropertyValue(TextElement.ForegroundProperty, "#9ebb2b");

 private TextRange Find(string w)
        {
            var si = Title.Text.IndexOf(w);
            var sp = Title.ContentStart.GetPositionAtOffset(si + 1);
            var ep = Title.ContentStart.GetPositionAtOffset(si + w.Length + 1);
            return new TextRange(sp, ep);
        }

如何在XAML中做到這一點

您需要使用richTextBox。 這將允許您為塊內的文本設置不同的顏色,但是我不知道如何綁定它。 也許使用一種方法來創建具有所需格式的資源的對象,然后將其綁定到該對象。

關於在RichtextBox中設置單獨的顏色, 此問題有詳細說明。

暫無
暫無

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

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