ArgumentException:值不在预期范围内

时间:2014-05-23 09:56:49

标签: c# exception windows-phone-8.1

在我的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"
}

1 个答案:

答案 0 :(得分:1)

您不能在参考资料中拥有FrameworkElement(Control)。一个控件只能是另一个元素的子元素,也就是说你不能重复使用它,只需将它放在一个地方即可。如果你把它作为资源,它似乎成为你把它放在控制中的孩子。

如果您想重复使用某些控件,请创建UserControlCustom/Template Control并改为使用它。以下是两种控件之间的比较:link

链接可能不是完美的教程,但我认为它们将是一个良好的开端。