2013-01-02 8 views
0

코드 내의 문자열에서 특수 문자를 TextBlock에 표시해야합니다. 특수 문자로 텍스트 설정

<TextBlock x:Name="tboxData" TextWrapping="Wrap" Text="&gt;&gt; &lt;&lt;" /> 

작동하지만, 전 C#에서 작업을 수행해야합니다

tboxData.Text = "&gt;&gt; &lt;&lt;"; 

을 그리고 이것은 TextBlock의 >> < <를 인쇄하지 않습니다.

어떻게하면됩니까?

답변

3

어떤 이유로 인코딩 된 문자를 사용해야 할 수도 있습니다 (아마도 당신은 리터럴을 사용하지 않는 및 xml 파일이나 뭔가를 읽고있는) 가정 : 당신은 추가해야합니다

tboxData.Text = System.Web.HttpUtility.HtmlDecode("&gt;&gt; &lt;&lt;") 

System.Web 어셈블리를 참조하십시오.

+2

+1을 사용하지만 .NET 4 (클라이언트 또는 전체)를 대상으로하는 경우 [System.Net.WebUtility.HtmlDecode] (http://msdn.microsoft.com/en-us/library)를 사용할 수 있습니다. /ee388354.aspx) 대신에 System.Web을 필요로하지 않는다면'System.Web' 어셈블리를 참조하지 않아도됩니다. – keyboardP

+0

감사합니다. .NET 4. System.Net.WebUtility.HtmlDecode를 멋지게 처리하고 있습니다. 그게 내가 필요한거야. –

3

그냥 사용 : 당신은 C#에서 문자열을 작성할 때 HTML 개체에 대해 걱정할 필요가 없습니다

tboxData.Text = ">><<"; 

. 이러한 문자는 코드의 여는 태그와 닫는 태그를 나타내므로 XAML에서 수행해야합니다.

+0

웹 서비스에서 큰 문자열 (4 자뿐만 아니라)을 수신하고 있으므로 수동으로 텍스트를 설정할 수 없습니다. 더 나은 시각화를위한 것입니다. 나는 다른 답변에서 System.Net.WebUtility.HtmlDecode를 사용했고 도움을 주었다. 감사. –

4

정상 작동하지 않아야합니까? XAML은 <> 문자를 구문 분석하기 때문에

tboxData.Text = ">><<"; 

XAML 인코딩을 사용해야합니다 이유는, 그래서 당신은 파서 당신이 <> 문자를 표시 할 것을 알고 있는지, 토큰으로이를 분석 할 필요가 .

+0

당신은 나를 때려! – codingbiz

+0

웹 서비스에서 문자열을 받고 해당 문자가 이미 포함되어 있기 때문에 불가능합니다. –

관련 문제