2013-04-30 93 views
3

我們在XAML中構建了一個應用程序。現在我需要格式化文本字符串。 是否可以只加粗部分文本字符串?我們用一個文本字符串替換XAML文本塊中的元素文本。使文本字符串的一部分變爲粗體的最簡單方法是什麼?我會添加一個標籤嗎? XAML或C#中的其他內容?文本字符串代碼的粗體部分

這裏是我們XAML的一個例子,我們的代碼後面:

XAML

<TextBlock x:Name="PrimaryNameText" Text="Primary Member Name:"></TextBlock>

C#字符串

PrimaryNameText.Text = "Primary Member Name: " + reAccount.MyPerson.Prefix + " " + reAccount.MyPerson.FirstName + " " + reAccount.MyPerson.LastName;

在上面的例子中,我們或多或少想要加粗字符串的部分「主要成員名稱」:

我知道你可以爲分頁符做一個「\ n」,有沒有辦法讓字符串中的文本加粗?

+0

您不應該在基於XAML技術的代碼中操縱UI元素。現在,爲了實現這一點,您必須執行一堆代碼,而如果您以正確的方式執行了這些操作,則可以使用簡單的DataBinding。 – 2013-04-30 19:36:24

回答

3

在TextBlock中使用span。

<TextBlock> 
    <Span x:Name="PrimaryNameBold" FontWeight="Bold"></Span> 
    <Span x:Name="PrimaryNameNormal"></Span> 
</TextBlock> 

並在代碼:

PrimaryNameBold.Text = "Primary Member Name: "; 
PrimaryNameNormal.Text = reAccount.MyPerson.Prefix + " " + reAccount.MyPerson.FirstName + " " + reAccount.MyPerson.LastName; 

不是一個真棒的解決方案,但這應該工作。

+0

我喜歡你的解決方案。看起來非常可行。我知道我們的代碼並不漂亮,但我認爲它會起作用 – ClosDesign 2013-04-30 19:42:57

+0

@Carlos我沒有測試過這個任何潛在的奇怪,但它應該工作。所以讓我知道如果它。 – tnw 2013-04-30 19:47:38

+0

工作很好。除了必須從PrimaryNameNormal.Text周圍引用引號外。整個事情不需要引號。除此之外。這工作。謝謝 – ClosDesign 2013-04-30 20:14:25