【问题标题】:Blazor Server Side (.Net Core) custom menuBlazor 服务器端 (.Net Core) 自定义菜单
【发布时间】:2020-06-22 08:36:03
【问题描述】:

作为 Blazor 的新手,我仍在寻找自定义 <NavLink> 的方法。我打算使用 Metronic Theme 制作一个应用程序,但我仍在努力寻找一种使用它的导航菜单的方法。我们可以自定义这个<NavLink> 吗?任何帮助将不胜感激。

谢谢

问候 J

【问题讨论】:

  • 你能解释一下你所说的挣扎是什么意思吗?您可以在某些 .razor 文件中添加导航菜单所需的相同 html 和 css。它应该给你导航菜单。
  • 苦苦挣扎的意思是,我无法自定义 组件。它将引导活动类添加到选定的导航按钮,我想将该“活动”类更改为“metronic-active”类,这可能吗?

标签: blazor blazor-server-side .net-core-3.1


【解决方案1】:

<NavMenu /> 组件位于<your project>/Shared 文件夹中。是的,您可以自定义它。默认情况下,ASP.NET Core 倾向于在其模板中捆绑 Twitter's Boostrap UI 框架。您要使用的主题显然也使用引导程序,因此您可能希望删除所有 CSS 并简单地替换为主题的推荐。

您需要具备如何使用Razor Syntax 的良好基础,才能将您的主题融入到 ASP.NET Core 项目中。

【讨论】:

  • 感谢您的回答,但我担心的是,当我们导航到不同的组件时,活动类会自动添加到活动导航按钮。我担心的是,我使用的是“Metronic 主题”,它的活动导航链接不只是简单的“活动”类,它有自己的类来设置样式。我想自定义 组件,就像每当我导航到特定组件时,它的导航链接都会被激活。这就是我需要自定义 的原因。有可能吗?
  • 然后您应该单击原始问题上的编辑按钮,并在其中包含该详细而具体的问题!欢迎来到 Stackoverflow,你可以找到how to ask a good question here
  • Adam 我已经提到我们可以自定义 组件...
【解决方案2】:

所以在挖掘了很多之后,我找到了我的问题的答案..

有一个名为“NavigationManager” 的服务,它包含有关页面当前 URL 的所有信息。我们可以使用 "NavigationManager.Uri" 来确定我们在哪个页面上。此外,它还有一个事件处理程序 "NavigationManager.LocationChanged",只要 URL 更改就会触发。

public void LocationChanged(object sender, LocationChangedEventArgs args)
{

}

通过订阅此事件,我们可以看到下一步要去哪里,并且可以将自定义类添加到我们的导航栏。

干杯 J

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-20
    • 2019-02-20
    • 2018-11-19
    • 2020-09-30
    • 2019-10-06
    • 2023-03-26
    • 2021-12-09
    • 2020-03-25
    相关资源
    最近更新 更多