2014-06-10 5 views
0

MainWindow와 DetailedBookView가 있습니다. MainWindow 클래스의 DetailBookView에서 새로운 객체를 사용하여 메서드 및 필드를 사용하고 싶습니다 ... MainWindows는 DetailedBook의 부모가 아닙니다 ... MainWindow에 코드를 작성하여 MainWindow에서 DataContaxt를 사용하도록 도와주세요.WPF. 다른 객체의 필드에 액세스 할 수 있습니까?

public partial class MainWindow : Window 
{ 
    //use DataContaxt method here without using new object 
    enter code here 

} 


public partial class DetailedBookView : UserControl 
{ 
    int DataContaxt = 10; 
} 
+0

친구, C++ :

public partial class DetailedBookView : UserControl { static int DataContaxt = 10; } 

이제로 직접 DataContaxt을 사용할 수 있습니까? 먼저 클래스 외부의 인스턴스 레벨 변수/메소드/속성에 액세스하려면 public이어야하고 인스턴스가 만들어 져야합니다. 인스턴스 수준이 아니길 원한다면 public static으로 설정하십시오. 만약 당신이 그것을 변화시키지 않는다면 const를 만들어라. – Nitin

답변

0

만들기 방법 및 당신이 DetailedBookView static의 다른 클래스에서 사용하고자하는 분야. 이렇게하면 이러한 메서드와 필드를 클래스 이름과 함께 직접 사용할 수 있습니다. 전에 혹시 C#으로 코딩 한

public partial class MainWindow : Window 
{  
    int a = DetailedBookView.DataContaxt; 

} 
+0

정적 필드를 정의하는 것이 좋지 않다 ... –

+0

'MainWindow 클래스는 새로운 객체를 사용한다. '귀하의 요구 사항에 따라 가장 적합한 방법입니다. 그 객체없이 static이 아닌 클래스 변수/메소드를 어떻게 호출 할 수 있습니까? 다른 방법들도 있지만 클래스 인스턴스를 하나만 가지는'Singleton' 디자인 패턴을 사용하는 것과 같이 클래스를 인스턴스화해야합니다. – Ricky

0

어쩌면 단지 설정의 DataContext 필드 정적