我正在尝试在Windows Phone 7中为我的应用创建一个“设置”页面。我创建了AppSettings类,并从我的MainPage.xaml中引用它。这是我的代码:
<phone:PhoneApplicationPage
x:Class="Shapes4Kids.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ShapesSettings;assembly=Shapes4Kids"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="696"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<phone:PhoneApplicationPage.Resources>
<local:AppSettings x:Key="appSettings"></local:AppSettings>
</phone:PhoneApplicationPage.Resources>
但在我引用AppSettings(本地:AppSettings行)的行上,我收到一条错误消息,指出“无法创建AppSettings实例”。
答案 0 :(得分:4)
这是因为实例化ApplicationsSettings会引发异常。如果您将以下内容添加到构造函数中,那么您应该没问题;
try
{
settings = IsolatedStorageSettings.ApplicationSettings;
}
catch (System.IO.IsolatedStorage.IsolatedStorageException e)
{
// handle exception
}
答案 1 :(得分:3)
对于要在xaml中引用的对象,他们需要有一个默认的无参数构造函数。我会仔细检查这种情况。
其他潜在问题可能是构造函数中抛出的异常。
答案 2 :(得分:0)
一个可能的原因也可能是依赖属性初始化失败。
我在类中尝试在XAML中实例化以下代码:
public static readonly DependencyProperty ListViewObjectProperty = DependencyProperty.Register(
"ListViewObject",
typeof(ListView),
typeof(WidthConverter),
new UIPropertyMetadata(0));
...此依赖项属性用于保存对ListView的引用。但VS默认的“propdp”代码片段生成了这个“新的UIPropertyMetadata(0)”,这在引用变量的情况下有点不对。它应该是“new UIPropertyMetadata(null)”。
更改此问题为我解决了问题。出于某种原因,我在运行时没有收到任何可见的异常。