XAML에 유니 코드 문자를 넣는 방법은 무엇입니까?


104

나는 이것을 시도하고있다 :

<TextBlock Text="{Binding Path=Text, 
                          Converter={StaticResource stringFormatConverter}, 
                          ConverterParameter='&\u2014{0}'}" />

-를 얻으려면 텍스트 앞에 나타납니다. 작동하지 않습니다. 여기서 무엇을해야합니까?

답변:


196

XAML은 XML 파일 형식이므로 XML 문자 이스케이프를 시도 할 수 있습니다. 따라서를 쓰는 대신 대신 쓸 &\u2014&#x2014;있습니다.


감사합니다. 나는 & mdash; 및 \ u2014,하지만 그건 아닙니다. 효과가있었습니다.
Alex Baranosky

4
헥사 & # x20ac; 십진수 유니 코드 & # 8364; 당신은 얻을 유로 :)거야
user347594

예,하지만 0x10000 이상인 Symbola 글꼴의 음표와 같은 UTF-32 문자를 원한다면 어떻게해야합니까?
Ruud van Gaal

힌트 주셔서 감사합니다. 그러나 이것은 내 유니 코드 문자를 Text = "..."안에 직접 넣을 때만 효과가있었습니다. 내 ViewModel에 바인딩을 사용할 때 "\ u2014"를 포함하는 문자열 변수를 사용해야했습니다.
flocbit

9

xaml에서 다음과 같이했습니다.

    <Button Grid.Column="1" Grid.RowSpan="2" Name="start" Margin="5" Click="start_Click">
        <TextBlock Name="test" FontFamily="pack://application:,,,/Y_Yoga;Component/Resources/#FontAwesome">&#xF04B;</TextBlock>
    </Button>

도움이 되길 바랍니다!


3

Microsoft 문서에서 :

Microsoft Visual Studio에서 생성 된 마크 업 파일은 자동으로 유니 코드 UTF-8 파일 형식으로 저장됩니다. 즉, 악센트 표시와 같은 대부분의 특수 문자가 올바르게 인코딩됩니다. 그러나 다르게 처리되는 일반적으로 사용되는 특수 문자 세트가 있습니다. 이러한 특수 문자는 인코딩을위한 W3C (World Wide Web Consortium) XML 표준을 따릅니다.

이것이 의미하는 바는 당신이 걱정하는 모든 것에 대해 잘 고를 할 수 있다는 것입니다.

여기에 이미지 설명 입력

관련된 코드 비트 :

<Label Grid.Column="0" Grid.Row="3" FontWeight="ExtraBlack">STAGE:M&#x363;&#x36d;&#x363;&#x33e;  V&#x363;&#x365;&#x36d;&#x35b;&#x364;&#x36e;&#x365;&#x368;&#x365;&#x367;&#x33e;</Label>

3

다른 이유로이 페이지를 방문했지만 여기에는 가장 쉽고 확실한 솔루션이 포함되어 있지 않습니다.

이것이 제가하는 것입니다.

모든 유니 코드 값으로 정적 클래스를 유지합니다.

 public static class Icons
{
    public const string IconName = "\u2014";
}

그런 다음 필요할 때마다 바인딩하십시오.

<TextBlock Text="{x:Static resources:Icons.IconName}" FontFamily="..."/>

이는 또한 유지 관리에 도움이되며 모든 아이콘을 한곳에서 관리 할 수 ​​있습니다.


1

파일을 UTF-8로 저장하십시오. Visual Studio에서는 "파일"→ "고급 저장 옵션"으로 이동하여이 작업을 수행 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.