【问题标题】:Why is my DependencyProperty not accessible?为什么我的 DependencyProperty 无法访问?
【发布时间】:2013-05-03 11:40:33
【问题描述】:

我有一个名为 AlarmSettings 的用户控件,该用户控件的资源字典包含我的自定义类“AlarmClock”的一个实例,AlarmClock 有一个名为 AlarmName 的依赖属性,为什么我会收到错误 Error “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>

这是我的闹钟类:

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 依赖项属性设置为字符串,我仍然会收到相同的错误。

【问题讨论】:

  • 你解决了这个错误吗?
  • 不,从未解决,该项目已被放弃

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        你的 userControl 的 DataContext 是什么?

        为你的闹钟类添加一个空的构造函数。

        【讨论】:

        • 我没有设置数据上下文,我试图在 XAML 中绑定到它所在的用户控件的 Name 属性,我可以这样做吗?我确实有一个 AlarmClock 类的无参数构造函数,虽然它不是空的,只是在我的示例中没有显示它,已经更新了它。
        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 2015-01-11
          • 2014-04-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-26
          相关资源
          最近更新 更多