首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将MudIcon字符串绑定到Mud图标组件

如何将MudIcon字符串绑定到Mud图标组件
EN

Stack Overflow用户
提问于 2021-12-07 18:11:23
回答 2查看 919关注 0票数 1
代码语言:javascript
复制
<MudIcon Icon="@inboxIcon" Color="Color.Primary" />
代码语言:javascript
复制
@code{

   // here this Icon string is coming from database
   
private string inboxIcon = "Icons.Material.Filled.Inbox"; 

}

上面的代码没有显示任何图标。如何绑定这个图标字符串?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-10 19:03:01

以前的问题,但我也试图保存/加载菜单图标从数据库,并结束使用反射,如下面的例子。我想使用的所有图标都在Icons.Material.Outlined中,所以我只是保存图标名"Person“、"Dashboard”等等(以及路径和标题),以便在运行时加载。这个样本可能会让你:

代码语言:javascript
复制
@using System.Reflection

<MudNavMenu>
    @foreach (var menuitem in MenuItems)
    {
        <MudNavLink Href="@menuitem" Icon="@GetIconValue(Icons.Material.Outlined, @menuitem)">@menuitem</MudNavLink>
    }
</MudNavMenu>

@code {
    string[] MenuItems = new string[] {"Dashboard", "Person"};

    public static string GetIconValue(object SourceField, string IconName)
    {
        return SourceField.GetType().GetProperty(IconName).GetValue(SourceField, null).ToString();
    }
}

在Mudblazor上运行:https://try.mudblazor.com/snippet/cuQQuplkqVtQpJKV

票数 0
EN

Stack Overflow用户

发布于 2021-12-21 10:30:04

你就快到了。试着这样做:

代码语言:javascript
复制
<MudIcon Icon="@inboxIcon" Color="Color.Primary" />


@code{

   // here this Icon string is coming from database
   
private string inboxIcon = MudBlazor.Icons.Material.Filled.Inbox; 

}

命名空间中的Icons将自动转换为字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70265027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档