You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WPF中使用famfamfam国旗图标获取指定国旗?

获取单个或成对famfamfam国旗图标的方法

嘿,我之前在WPF项目里用过这个国旗图标库,刚好能解决你的问题!作者给的示例是展示所有国家,但要单独拿单个或一对国旗其实很简单,核心是用CountryData类里的GetCountry方法,它支持传入ISO 3166-1二位国家代码(比如CN代表中国,US代表美国)来获取对应的国旗数据。

1. 获取单个国旗

方式一:XAML直接绑定

你可以在XAML里直接调用静态方法获取指定国家,然后绑定到Image控件:

<Image Source="{Binding Source={x:Static flags:CountryData.GetCountry('CN')}, Path=Flag}" />

这里'CN'就是你要的国家代码,替换成你需要的即可。

方式二:后台代码获取

如果需要在逻辑层处理,也可以在后台代码中获取,再绑定到UI:

var chinaCountry = CountryData.GetCountry("CN");
// 把chinaCountry.Flag赋值给Image的Source属性
myImage.Source = chinaCountry.Flag;

2. 获取成对国旗

要展示一对国旗(比如中美两国),只需要分别获取两个国家的国旗数据,然后绑定到两个Image控件就行:

<StackPanel Orientation="Horizontal">
    <Image Source="{Binding Source={x:Static flags:CountryData.GetCountry('CN')}, Path=Flag}" Margin="0 0 10 0" />
    <Image Source="{Binding Source={x:Static flags:CountryData.GetCountry('US')}, Path=Flag}" />
</StackPanel>

这样就能在界面上并排显示两个国旗了。

另外要注意,确保你已经正确引用了库的命名空间,一般在XAML头部会有类似这样的声明:

xmlns:flags="clr-namespace:FamFamFam.Flags;assembly=FamFamFam.Flags"

补充一下:如果不确定国家代码,可以查ISO 3166-1二位代码表,或者临时用作者给的AllCountries集合遍历看看每个国家的代码~

内容的提问来源于stack exchange,提问作者ILai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:21:49