本文介绍了从其他页面更改MainWindow内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在WPF应用程序的主窗口中,我有一个Badged元素(来自材料设计)

In my main window in WPF application I have a Badged element (from material design)

这是我的代码:

<materialDesign:Badged BadgePlacementMode="Left" 
    Name="RequestBadge" 
    Badge="3" 
    VerticalAlignment="Center">
    <Button Content="Show Requests" ..... />
</materialDesign:Badged>

我想动态更改徽章内容.

I want to change Badge content dynamically.

我在代码后面添加了此功能:

I add this function in code-behind:

public void setBadge(int num)
{
    RequestBadge.Badge = num;
}

但是当我尝试从其他页面调用此函数时,出现此错误:

But when I try to call this function from other pages, I get this error:

推荐答案

您需要找到MainWindow的打开实例:

you need to find an open instance of MainWindow:

var mw = Application.Current.Windows.OfType<MainWindow>().FirstOrDefault();
mw?.SetBadge(counter);

这篇关于从其他页面更改MainWindow内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 11:04