从其他类访问MainWindow属性

时间:2009-10-29 03:07:28

标签: c# .net wpf subclass

我可以在WPF应用程序的MainWindow.xaml.cs文件中轻松修改/访问控件和MessageBox。但是,当我创建一些文件夹并在那里添加类时,我不再能够访问MessageBox,也没有在Intellisense下拉列表中看到控件名称。

(这似乎很基本,但我是C#和WPF的新手)

2 个答案:

答案 0 :(得分:3)

您必须缺少命名空间。你可以这样做:


<强> MainWindow.cs:

 using System;
 using System.Text;
 using System.Windows;
 using System.Windows.Controls;

namespace YourNameSpaceHere
{
    public partial class MainWindow : Window
    {
        internal static string message_ = string.Empty;
        MainWindow()
        {
            InitializeComponent();
            SetupMessage();
        }

        private void SetupMessage()
        {
            message_ = "Hello World!";
        }
    }
}

OtherFile.cs:

using System;
using System.Text;
using System.Windows;
using System.Windows.Controls; //are you missing this namespace?
namespace YourNameSpaceHere
{
        public class Messaging
        {
            Messaging()
            {
                MessageBox.Show(MainWindow.message_);
            }
        }
}

请注意,我在每个文件中使用相同的命名空间,并且通过使用internal关键字,只要消息位于同一名称空间中,就可以访问任何内容。我希望这有帮助!

答案 1 :(得分:1)

您的类是否具有正确的using语句,允许您访问您尝试在您创建的新类中访问的类?