2013-01-11 4 views
0

어제 멀티 창 wpf 응용 프로그램을 사용하여 하나의 바인딩을 다른 윈도우에서 작동 시키려고했으나 방금 포기하고 모든 것을 하나의 창에 채웠습니다. 그러나 (정규 JSP 페이지에서) 폼에서 바인딩 할 방법이 없다는 것을 알았습니다.wpf와 Java EE 구문이 동일합니다.

<ui:textField ...text="#{SessionBean1.choosePlaceAndTimeForm.checkOutDate}".../> 

WPF 응용 프로그램의 기간 동안 살아 세션 개체가하고 경우에 어떻게 든 내가 모든 창에서 바인딩 수있는 몇 가지 방법이 있었다면. 내 인생이 더 쉬울거야. 어떤 제안?

답변

1

이 답변에 따르면

사용하여 바인딩 할 수있는
Application.Current.Properties 

(키 문자열을 큰 따옴표없이 사용) :

<TextBlock Text="{Binding Path=Application.Current.Properties[MyPropertyKey]}" /> 

WPF Application using a global variable

어느 다음 사전을 사용 또는 정적 클래스를 구현하십시오.

public static class ConfigClass() 
{ 
    public static int MyProperty { get; set; } 
} 
+0

당신은 App.Current.Properties [ "NameOfProperty"] = 5;'와 같은 뜻으로 속성을 추가 할 수 있습니다. 하지만 현재 wpf 창 내가 올바른에서 속성을 설정 해요 의미합니까? 다른 WPF 창에서 해당 속성에 액세스하려면 어떻게해야합니까? current.properties에 해당 속성이 있습니까? 만약 내가 3 개의 다른 윈도우에서 3 개의 텍스트 박스를 동일한 App.Current.Properties [ "NameOfProperty"] 값에 바인드하면 그들은 작동할까요? – mechanicum

+0

Application 개체로 범위가 지정되므로 예. – mathieu

+0

답변 해 주셔서 감사합니다. 하지만 다른 이유는 다른 사람들이 클래스를 정의하고 app obj의 속성을 해당 클래스에 배치하고 해당 클래스를 대신 사용하는 것입니다. 앱 클래스 또는 다른 것을 사용하는 것이 잘못 되었습니까? – mechanicum

0

App 개체를 사용하십시오.

리소스를 App 개체의 ResourceDictionay에 넣고 StaticResource 바인딩을 사용하여 바인딩 할 수 있습니다. 또는 각 윈도우의 ViewModel에서 참조하십시오.