XAML'e bir unicode karakteri nasıl eklenir?


104

Bunu yapmaya çalışıyorum:

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

Metnin önünde görünecek bir - elde etmek için. Çalışmıyor. Burada ne yapmalıyım?

Yanıtlar:


196

XAML bir XML dosya formatı olduğundan, XML karakter çıkışını deneyebilirsiniz. Yani &\u2014yazmak &#x2014;yerine yazabilirsin .


teşekkür ederim. Denedim & mdash; ve \ u2014, ama o değil. İşe yaradı.
Alex Baranosky

4
Yakındaydınız, hexa & # x20ac; ve ondalık unicode & # 8364; alacaksın ve Euro :)
user347594

Evet, ama ya Symbola yazı tipindeki müzik notaları gibi 0x10000'ün üzerinde bir UTF-32 karakteri istiyorsanız?
Ruud van Gaal

İpucu için teşekkürler. Ancak bu, yalnızca unicode karakterimi doğrudan Text = "..." içine koyduğumda işe yaradı. ViewModel'imle bir Bağlama kullanırken "\ u2014" içeren bir dize değişkeni kullanmak zorunda kaldım.
flocbit

9

Xaml'de bunu şöyle yaptım:

    <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>

Yardımcı olmayı umuyoruz!


3

Microsoft belgelerinden :

Microsoft Visual Studio'da oluşturulan işaretleme dosyaları otomatik olarak Unicode UTF-8 dosya biçiminde kaydedilir; bu, aksan işaretleri gibi çoğu özel karakterin doğru şekilde kodlandığı anlamına gelir. Bununla birlikte, farklı şekilde ele alınan, yaygın olarak kullanılan bir dizi özel karakter vardır. Bu özel karakterler, kodlama için World Wide Web Consortium (W3C) XML standardına uygundur.

Bunun anlamı, önemsediğin her şey için zalgo yapabileceğin

görüntü açıklamasını buraya girin

Alakalı kod parçası:

<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

Bu sayfaya başka bir nedenle geldim, ancak bu en kolay ve bariz çözümü içermiyor.

Bu benim işim.

Tüm Unicode değerleriyle statik bir sınıf koruyun.

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

Ve sonra ihtiyacınız olan yere bağlayın.

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

Bu aynı zamanda bakım konusunda size yardımcı olur, tüm simgeler tek bir yerde yönetilebilir.


1

Dosyayı UTF-8 olarak kaydedin. Visual Studio'da bunu "Dosya" → "Gelişmiş Kaydetme Seçenekleri" seçeneğine giderek yapabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.