在 mui: LinkGroup.Links 中禁用按钮 mui: Link

disable button mui: Link in a mui: LinkGroup.Links

我有一组按钮 mui:LinkGroup 其中包含四个按钮 mui:Link 哪一个我停用它并保持灰色。

这是我使用 Xaml 和 C#

编写的代码
 <mui:LinkGroup DisplayName="{x:Static p:Resources.Link_Transport}" x:Name="transport">
            <mui:LinkGroup.Links>
                <mui:Link DisplayName="{x:Static p:Resources.Link_Moyens_Transport}" Source="/Pages/Transports/ListTransport.xaml" />
                <mui:Link DisplayName="{x:Static p:Resources.Link_Voyages}" Source="/Pages/Voyages/ListVoyage.xaml" />
                <mui:Link DisplayName="{x:Static p:Resources.Link_Allottement}" Source="/Pages/Allottement/EffecterSiege.xaml" />
                <mui:Link DisplayName="{x:Static p:Resources.Link_Etat_Voyages}"  Source="/Pages/Transports/TransportTravels.xaml" />
            </mui:LinkGroup.Links>
        </mui:LinkGroup>

我不喜欢完全删除按钮或将其放在评论中,在此先感谢您的帮助:)

A Link 无法直接禁用。您可以做的是在可视化树中找到相应的 ListViewItem 并将其禁用。您必须以编程方式执行此操作:

public partial class MainWindow : ModernWindow
{
    public MainWindow()
    {
        InitializeComponent();
        this.Loaded += (s, e) => 
        {
            ModernMenu mm = FindVisualChildren<ModernMenu>(this).FirstOrDefault();
            if(mm != null)
            {
                ListBox lb = FindVisualChildren<ListBox>(mm)?.ElementAt(1);
                if (lb != null)
                {
                    ListBoxItem link = FindVisualChildren<ListBoxItem>(lb).FirstOrDefault(x => x.Content == theLink);
                    if (link != null)
                        link.IsEnabled = false;
                }
            }
        };
    }
}

使用 XAML 中的 x:Name 属性命名要显示的 link:

<mui:Link x:Name="theLink" DisplayName="..." ... />