在wpf中设置一页的标签值

时间:2012-03-29 05:57:37

标签: c# wpf

您好我有2页MainPage和MessagePage。

MessagePage显示在TargetName =" ContentFrame"主页。

现在我需要在MessagePage中的MainPage中设置TextBlock txtblkMsgStatus。

我该怎么做?

注意: 单击其中的链接按钮,不会直接从MainPage导航MessagePage。而不是单击MainPage中的链接按钮,MsgShowPage将在TargetName =" ContentFrame"中呈现。 。从MsgShowPage点击其他内容呈现MessagePage。所以最后MessagePage在TargetName =" ContentFrame"

中呈现

2 个答案:

答案 0 :(得分: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

在您的MainPage中:

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

抱歉VB。您可以尝试例如:http://converter.telerik.com/转换为c#。

答案 1 :(得分:0)

让它工作..感谢代码项目

Prism Event Aggregator Service and Extension Methods