Avalonia 元素集合实现Menus(图片资源文件绑定后不显示问题)
<SplitView.Pane>
<Grid.RowDefinitions>
</Grid.RowDefinitions>
<ItemsControl.ItemTemplate>
</ItemsControl.ItemTemplate>
</SplitView.Pane>
--ViewModel
public DevPageViewModel()
{
MenuList = new ObservableCollection<Menus.LeftMenus>(new List<Menus.LeftMenus>
{
new Menus.LeftMenus("文件⇌Base64", "Dev_FileAndBase64Page","文件与Base64互转","avares://AvaToolPro/Assets/Icons/index/other.png",true),
new Menus.LeftMenus("图片⇌Base64", "Dev_ImageAndBase64Page","图片与Base64互转","avares://AvaToolPro/Assets/Icons/index/other.png",true),
new Menus.LeftMenus("JSON格式校验", "Dev_JsonParsePage","JSON文本格式解析校验","avares://AvaToolPro/Assets/Icons/index/other.png",true),
new Menus.LeftMenus("JSON⇌XML", "Dev_JsonAndXmlPage","JSON文本与XML互转","avares://AvaToolPro/Assets/Icons/index/other.png",true),
new Menus.LeftMenus("其他辅助操作", "Dev_OtherPage","其他辅助操作","avares://AvaToolPro/Assets/Icons/index/other.png",true)
});
}
--资源图片加载
--直接绑定资源图片文件路径,图片不能正常加载,因为 Image Source 绑定需要 Avalonia.Media.IImage 类型数据,需要将资源图片转BitMap 后绑定,需要在函数中通过AssetLoader 获取资源文件后转为BitMap
this.Title = Title;
this.Tag = Tag;
this.Tips = Tips;
this.Enable = Enable;
// 使用 AssetLoader 从嵌入资源加载 Bitmap
var uri = new Uri(Icon);
using (var stream = AssetLoader.Open(uri))
{
this.Icon = new Bitmap(stream);
}

浙公网安备 33010602011771号