2012-03-29 1 views
0

こんにちは私は2ページのMainPageとMessagePageを持っています。wpfで別のページのlable値を設定する

MainPageのTargetName = "ContentFrame"にMessagePageが表示されています。

今度は、MessagePageからMainPageのTextBlock txtblkMsgStatusを設定する必要があります。

どうすればいいですか?

注: MessagePageを直接使うMsgShowPageがTargetNameは=「ContentFrame」でレンダリングされ、メインページ内のリンクボタンのクリックでit.Instead内のリンクボタンのクリック時にメインページからナビゲートされていません。他の何かをクリックするとMsgShowPageからMessagePageがレンダリングされます。最終的にMessagePageはTargetName = "ContentFrame"でレンダリングされます

答えて

0

多くの異なる種類のカスタムユーザーコントロールで実装できるため、これらの状況でプロパティ変更イベントを使用したいと思います。次に、あなたのmessagePageにイベントを作成し、メインページのハンドラは、イベントが発生したときに必要なステップを実行します。また、可能であれば、messagePage内の既存のイベントを使用することもできます。あなたのMessagePageで例えば

Public Event PropertyChanged As PropertyChangedEventHandler _ 
     Implements INotifyPropertyChanged.PropertyChanged 

Private Property m_prop As String 
    Public Property Prop As String 
     Get 
      Return m_prop 
     End Get 
     Set(value As String) 
      Me.m_prop = value 
      NotifyPropertyChanged("Prop") 
     End Set 
    End Property 

Private Sub NotifyPropertyChanged(ByVal info As String) 
     RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info)) 
    End Sub 

そして、あなたのメインページで:VBについて

AddHandler ReportsTreeView.PropertyChanged, _ 
       AddressOf ChangeHandler 

Private Sub ChangeHandler(sender As Object, e As ComponentModel.PropertyChangedEventArgs) 
    Select Case e.PropertyName 
      Case "Prop" 
       'do something 

     End Select 

    End Sub 

申し訳ありません。たとえば、http://converter.telerik.com/を試して、C#に変換することができます。コードプロジェクトへ

+0

ReportsTreeViewは何ですか? –

+0

MainPageでPropertyChangedにアクセスできません –

+0

ReportsTreeViewはプロジェクトのカスタムコントロールで、コントロールに置き換えられます。メインページから別のページを作成しますか? – japesu

関連する問題