[英]How to check if an UIElement is a Panorama or not
我有这样的代码
foreach(UIElement iue in layout.Children)
{
if (iue is Panorama)
{
//some code
}
}
但这总是错误的。
我也试过
foreach(UIElement iue in layout.Children)
{
if (iue.getType() == typeof(Panorama))
{
//some code
}
}
没有成功。
我编写了一个测试应用,您的代码应该可以正常工作。 如果您仔细检查了其他所有内容,请记住, Children
属性将仅返回顶级元素。 如果您的Panorama
控件是子元素,则需要使用父控件的Children
属性来访问它。 要检查的另一件事是,您在typeof(Panorama)
行中使用的控件的命名空间是Microsoft.Phone.Controls
。 您可以通过在光标位于Panorama
单词上单击F12来完成此操作。
只需对您的代码进行一点更改。 试试这个,可能会帮助您。
foreach(UIElement iue in layout.Children)
{
if (this.IsPanorama(iue ))
{
//some code
//Panorama control
}
else
{
//not aPanorama control
}
}
//只检查UI元素是否为全景图
private bool IsPanorama(UIElement element)
{
bool isPanorama =false;
try{
Panorama p = (Panorama)element;
isPanorama = true;
return isPanorama ;
}
catch(Exception ex)
{
isPanorama = false;
return isPanorama ;
}
}
只需再次检查XAML,发现没有Panorama,而是一个从Panorama继承的名称为PanoramaFullScreen(具有全屏PanoramaItem)的UserControl。
谢谢大家的回应。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.