I used the following method (original source: https://itnext.io/convert-country-name-to-flag-emoji-in-c-the-net-ecosystem-115f714d3ef9) to generate the corresponding country flag from a CultureInfo.
public class Region
{
public string Emoji { get;set;}
public RegionInfo Info { get;set;}
public CultureInfo Culture { get;set;}
}
public static class RegionsProvider
{
public static Region GetRegion(CultureInfo culture)
{
var regionInfo = new RegionInfo(culture.LCID);
var region = new Region
{
Culture = culture,
Info = regionInfo,
Emoji = IsoCountryCodeToFlagEmoji(regionInfo.TwoLetterISORegionName)
};
return region;
}
public static string IsoCountryCodeToFlagEmoji(string countryCode) => string.Concat(countryCode.ToUpper().Select(x => char.ConvertFromUtf32(x + 0x1F1A5)));
}
<TextBlock Text="{Binding Emoji}" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding Info.EnglishName}"/>
<TextBlock Text=""/>
application started
Unfortunately, in my WinUI3 application this is not displayed, but only represented by the text "us".
Can it be because of the used character set?