AlarmSettings というユーザー コントロールがあり、ユーザー コントロールのリソース ディクショナリには、カスタム クラス「AlarmClock」のインスタンスが含まれています。AlarmClock には、AlarmName という依存関係プロパティがあります。アクセスできません。"
これは私のユーザーコントロールです:
<UserControl x:Class="ChangeSet.AlarmSettings"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
xmlns:alarm="clr-namespace:ChangeSet.Alarm;assembly=ChangeSet"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="480" d:DesignWidth="480" >
<UserControl.Resources>
<alarm:AlarmClock x:Key="alarmClock" AlarmName="{Binding ElementName=AlarmSettings, Path=Name}"/>
</UserControl.Resources>
これは私の AlarmClock クラスです:
public class AlarmClock: DependencyObject
{
public AlarmClock()
{
PopulateSettingsOptions();
}
public string AlarmName
{
get { return GetValue(AlarmNameProperty).ToString(); }
set { SetValue(AlarmNameProperty, value); }
}
public static readonly DependencyProperty AlarmNameProperty =
DependencyProperty.Register("AlarmName", typeof(string), typeof(AlarmClock), new PropertyMetadata("DefaultAlarm"));
注: AlarmName を AlarmSettings ユーザー コントロールの Name プロパティにバインドしようとしていますが、バインドを削除して AlarmName 依存関係プロパティを文字列に設定しようとしても、同じエラーが発生します。