3

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

4

5 回答 5

3

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

于 2015-10-13T08:33:58.047 回答
1

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

于 2015-05-13T11:57:32.083 回答
1

这个警告最近再次出现在我身上。由于一切似乎都是正确的,并且每当 XAML 给我这种奇怪的行为时,我都会求助于删除 bin & obj 文件夹,这起到了作用(再一次)。

于 2019-02-20T13:23:23.190 回答
0

你的用户控件是DataContext什么?

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

于 2013-05-03T12:13:54.490 回答
0

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

于 2018-04-17T03:30:34.943 回答