为什么我的DependencyProperty无法访问?

时间:2013-05-03 11:40:34

标签: xaml user-controls windows-phone dependency-properties

我有一个名为AlarmSettings的用户控件,用户控件的资源字典包含我的自定义类“AlarmClock”的实例,AlarmClock有一个名为AlarmName的依赖属性,为什么我会收到错误“the member” 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依赖项属性设置为字符串,我仍会得到相同的错误。

5 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您的userControl的DataContext是什么?

在你的类alarmClock中添加一个空构造函数。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

打开&#34;配置管理器......&#34;在VS.检查您的项目是否在同一平台上,例如:x64。

答案 4 :(得分:0)

最近我再次弹出此警告。由于一切似乎都是正确的,并且每当XAML给我这种奇怪的行为时,我都会求助于删除bin和obj文件夹,该操作可以完成操作(再次)。