在我的XAML
页面中,我添加了一些资源
<Page.Resources>
<Button x:Key="btn" Content="Test Button"></Button>
...
</Page.Resources>
在我的代码文件中,我调用此资源但获得运行时异常。不能理解会发生什么。请建议
Button btn = this.Resources["btn"] as Button;
if (btn != null)
{
MyPivotItem.Content = btn; // here I am getting the exception
// "Value does not fall within the expected range"
}
答案 0 :(得分:1)
您不能在参考资料中拥有FrameworkElement(Control)。一个控件只能是另一个元素的子元素,也就是说你不能重复使用它,只需将它放在一个地方即可。如果你把它作为资源,它似乎成为你把它放在控制中的孩子。
如果您想重复使用某些控件,请创建UserControl或Custom/Template Control并改为使用它。以下是两种控件之间的比较:link
链接可能不是完美的教程,但我认为它们将是一个良好的开端。