Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从不同的类私有方法调用公共方法_C#_Wpf - Fatal编程技术网

C# 从不同的类私有方法调用公共方法

C# 从不同的类私有方法调用公共方法,c#,wpf,C#,Wpf,我在类a中有一个方法(见下文),我想根据类B中下拉列表的选择更改来运行该方法。我不确定它如何调用该方法。是否有人可以帮助我/为我指出正确的方向 public void CloseloadHistory() { if (canHistory.Height != 0.0) { canHistory.Height = 0; BitmapImage image = new BitmapImage();

我在类a中有一个方法(见下文),我想根据类B中下拉列表的选择更改来运行该方法。我不确定它如何调用该方法。是否有人可以帮助我/为我指出正确的方向

public void CloseloadHistory()
    {
        if (canHistory.Height != 0.0)
        {

            canHistory.Height = 0;
            BitmapImage image = new BitmapImage();
            image.BeginInit();
            image.UriSource = new Uri("pack://application:,,,/DrScribe.EMR;component/Images/Collapse.png");
            image.EndInit();

            imgHistory.Source = image;
        }
        else loadHistory();
    }

您必须实例化该方法的类(我们称之为ClassA),然后只调用该方法

ClassA a = new ClassA();
a.CloseloadHistory();

您必须实例化该方法的类(我们称之为ClassA),然后只调用该方法

ClassA a = new ClassA();
a.CloseloadHistory();

如果不想实例化包含方法的对象,可以将方法设置为静态,但前提是也可以将canHistory变量设置为静态

然后你就可以像这样调用你的方法了

ClassA.StaticCloseloadHistory();

如果不想实例化包含方法的对象,可以将方法设置为静态,但前提是也可以将canHistory变量设置为静态

然后你就可以像这样调用你的方法了

ClassA.StaticCloseloadHistory();

只需创建classA的一个实例,然后调用公共方法。这是基本的101面向对象编程。或者将此方法设为静态并使用A.closeloadHistory();是的,但是考虑到这个问题,我建议停在这里,回到一篇关于OOP的好的介绍性文章。作为一般提示,在WPF中,在
ViewModel
或code behind中更改UI内容(例如代码中的
Height
)不是一个好的做法(只有在极少数情况下必须这样做)。建议您使用转换器或类似工具在
canHistory
UI元素上设置
Visibility=“Collapsed”
。(我想你应该阅读更多关于这个主题的内容)谢谢你的提示,我刚刚开始使用WPF,在现有的代码中,他们通过将高度设置为0来折叠它,所以我不想更改流。只需创建classA的实例,然后调用public方法。这是基本的101面向对象编程。或者将此方法设为静态并使用A.closeloadHistory();是的,但是考虑到这个问题,我建议停在这里,回到一篇关于OOP的好的介绍性文章。作为一般提示,在WPF中,在
ViewModel
或code behind中更改UI内容(例如代码中的
Height
)不是一个好的做法(只有在极少数情况下必须这样做)。建议您使用转换器或类似工具在
canHistory
UI元素上设置
Visibility=“Collapsed”
。(我想你应该阅读更多关于这个主题的内容)谢谢你的提示,我刚刚开始使用WPF,在现有的代码中,他们通过将高度设置为0来折叠它,所以我不想更改流。