我对Silverlight有点陌生,我遇到了一些问题。我几个小时来一直在想办法。。。
我有一个主页,等待来自服务器的数据包。当该数据包到达时,将在模块中进行处理。根据数据包数据,模块处理一个动作。其中一些操作涉及主页面上的子例程。我通过以下方式访问它们:
Dim MainPage As MainPage = App.Current.RootVisual
If strPacketData(1) = "0" Then
MainPage.Do_Sign_In(True, strPacketData(2))
Else
MainPage.Do_Sign_In(False, strPacketData(2))
End If
这很好。
假设登录成功,则主页调用
Me.Content = New Page2
页面切换到第2页
问题是,当试图访问第2页上的subs和控件时,相同的代码不起作用。
如果我尝试:
Dim Page2 As Page2 = App.Current.RootVisual
If strPacketData(1) = "1" Then
Page2.lblCreateError.Opacity = 100
End If
“无法将类型为”SLClient.MainPage“的对象强制转换为类型为”“SLClient.Page2”“。”。
我从中得到的是App.Current.RootVisual设置为MainPage,但MainPage不应打开。。。
我已经尝试将App.Current.RootVisual设置为Page2,但这似乎没有任何作用。
我希望这个问题是由我对银光灯的无知造成的,并且有一个简单的解决方法。。。
我想我需要做的是检测当前正在显示的页面,并操作该页面上的控件和函数\子例程。
如有任何意见,将不胜感激。