我以为我可以通过使用从同一命名空间中的任何非 ui 类访问主页上的控件
var frame = Application.Current.RootVisual as PhoneApplicationFrame;
var startPage = frame.Content as PhoneApplicationPage;
但是智能感知并没有显示出任何控制。
在谷歌上没有发现任何奇怪的东西。
我以为我可以通过使用从同一命名空间中的任何非 ui 类访问主页上的控件
var frame = Application.Current.RootVisual as PhoneApplicationFrame;
var startPage = frame.Content as PhoneApplicationPage;
但是智能感知并没有显示出任何控制。
在谷歌上没有发现任何奇怪的东西。
如果您想从另一个类访问您的控件,您可以:
使用FindName
方法来检索它:
var myButton = (Button)startPage.FindName("myButton");
使用公共属性公开控件,并将页面转换为其强类型而不是PhoneApplicationPage
:
在 ManPage.xaml.cs 中:
public Button MyButton
{
get
{
return this.myButton;
}
}
在你的另一堂课上:
var frame = (PhoneApplicationFrame)Application.Current.RootVisual;
var startPage = (MainPage)frame.Content;
// Here, you can use startPage.MyButton
请注意,从页面外部访问 UI 控件几乎总是一个坏主意。您可能想要重新考虑应用程序的架构而不是这样做(例如,MVVM 模式可以提供帮助)。