我有这样的代码
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
}
}
没有成功。
答案 0 :(得分:0)
我写了一个测试应用程序,你的代码应该可行。如果您仔细检查了其他所有内容,请记住Children
属性仅返回顶级元素。如果您的Panorama
控件是子元素,那么您需要使用父控件的Children
属性来实现它。另一件要检查的是,您在typeof(Panorama)
行中使用的控件的命名空间是Microsoft.Phone.Controls
。您可以通过在光标位于单词Panorama
上时按F12来执行此操作。
答案 1 :(得分:0)
您的代码稍有变化。试试这个,可能会帮到你。
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 ;
}
}
答案 2 :(得分:0)
再次检查XAML,发现没有Panorama,但是从Panorama继承的UserControl名称为PanoramaFullScreen(具有全屏PanoramaItem)。
感谢大家的回复。