none
如何设计一个能根据字符串显示指定控件的用户控件? RRS feed

  • 问题

  • 我使用了多个第三方的开源的字体图标库,是MahApps.Metro.IconPacks里的,可以根据key值引用指定的字体图标显示在界面上。其wpf使用可以通过xaml代码直接使用,格式类似<xxxIcon key="iconName"></xxxIcon> 其中xxxIcon泛指不同开源字体图标库的作者定的xaml标签名称吧。其中的“key”属性名只是借用方便称呼,可能这个属性名不一定叫“key”。

    现在有一个问题,在ListView或dataGrid中的DataTemplate,我想要根据不同的数据展示不同的字体图标,但有选定需要在ListView或DataGrid显示的图标可能会分布在不同的开源图标库里,不同的图标库意味着使用的xaml不一样,而且也可能不一定只用字体图标,可能用Image控件显示预加载的BitmapImage、ImageSource对象。

    这种情况意味着不适合使用DatatemplateSelector,因为不确定会用到多少个不同开源图标库里的字体图标和图片。因此我想到的灵感,是设计一个用户控件,该用户控件内部,由开发者封装需要显示的字体图标和图片对象的代码(例如xaml?),屏蔽使用的不同xaml代标签码差异,只根据key属性指定显示的控件(字体图标或图片)。 那么如何设计一个这样用途的用户控件呢?



    2020年2月10日 6:44

全部回复

  • Hi,

    你是想在Listview或者DataGrid里面每行添加不同的xxxIcon?那能不能使用后台代码代码添加呢?比如你自己创建一个类,用其中一个属性添加xxxxIcon,然后用List或者ObservableCollection去添加数据,最后把集合与Listview/DataGRid绑在一起。

    Best Regards,

    Alex


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2020年2月12日 9:17