Доступ к свойствам MainWindow из других классов - PullRequest
1 голос
/ 29 октября 2009

Я могу легко изменить / получить доступ к элементам управления и MessageBox в файле MainWindow.xaml.cs моего приложения WPF. Однако когда я создаю несколько папок и добавляю туда классы, у меня больше нет доступа к MessageBox и я не вижу имен элементов управления в раскрывающемся списке Intellisense.

(Это кажется довольно элементарным, но я новичок в C # и WPF)

Ответы [ 2 ]

3 голосов
/ 29 октября 2009

У вас должно быть пропущено пространство имен. Вы могли бы сделать что-то вроде этого:


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_);
            }
        }
}

Обратите внимание, что я использую одно и то же пространство имен в каждом файле, и с помощью внутреннего ключевого слова доступ к сообщению может получить любой пользователь, если он находится в том же пространстве имен. Надеюсь, это поможет!

1 голос
/ 29 октября 2009

Имеют ли ваши классы право использовать оператор, который позволил бы вам получить доступ к классу, к которому вы пытаетесь обратиться, в новых созданных вами классах?

...