2013-05-03 104 views
2

我有一个名为AlarmSettings的用户控件,用户控件的资源字典包含我的自定义类“AlarmClock”的一个实例,AlarmClock具有名为AlarmName的依赖项属性,为什么我得到错误错误“成员”AlarmName“未被识别或无法访问。“为什么我的DependencyProperty无法访问?

这是我的用户控件:

<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用户控件的名称属性但即使我删除绑定并尝试将AlarmName依赖项属性设置为一个字符串,我仍然会得到相同的错误。

+0

你设法解决这个错误吗? – 2014-03-07 10:23:41

+0

不,从来没有解决和项目已被放弃 – 2014-03-07 21:38:00

回答

0

什么是你的userControl的DataContext

向您的类alarmClock添加一个空的构造函数。

+0

我没有设置数据上下文,我试图只是绑定,在XAML中,它的用户控件的名称属性,我可以做到这一点? 我有一个AlarmClock类的无参数构造函数,虽然它不是空的,只是没有在我的例子中显示它,已经更新它。 – 2013-05-03 23:28:23

0

从Visual Studio中的XAML访问依赖项属性时,我遇到了同样的问题。我刚刚重建了这个项目。

1

我已经将我的项目从一个位置移动到另一个位置,并在再次打开它时获得与依赖项属性相同的问题。我只是重建它,错误得到解决。

相关问题