2009-10-29 156 views
1

我可以在WPF應用程序的MainWindow.xaml.cs文件中輕鬆修改/訪問控件和MessageBox。但是,當我創建一些文件夾並在其中添加類時,我無法再訪問MessageBox,也無法在Intellisense下拉列表中看到控件名稱。訪問其他類的MainWindow屬性

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

回答

1

貴班有,使用的語句將允許您訪問您正試圖將類來訪問新類中正確的你創建?

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

請注意,我在每個文件中使用相同的命名空間,並且只要它位於相同的命名空間中,就可以通過使用內部關鍵字來訪問任何消息。我希望這有幫助!

+0

我也遇到過這個問題,並使用了部分的答案。我錯過了下面的命名空間:using System.Windows.Controls;另外,你需要像使用Partial的例子那樣使用'internal'關鍵字。 – tone7 2011-09-17 09:22:07