我有一个名为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依赖项属性设置为字符串,我仍会得到相同的错误。
答案 0 :(得分:1)
我已将项目从一个位置移动到另一个位置,并在我再次打开它时遇到了依赖属性相同的问题。我只是重建它并且错误得到了解决。
答案 1 :(得分:0)
您的userControl的DataContext
是什么?
在你的类alarmClock中添加一个空构造函数。
答案 2 :(得分:0)
在Visual Studio中从XAML访问依赖项属性时遇到了同样的问题。我刚刚重建了这个项目。
答案 3 :(得分:0)
打开&#34;配置管理器......&#34;在VS.检查您的项目是否在同一平台上,例如:x64。
答案 4 :(得分:0)
最近我再次弹出此警告。由于一切似乎都是正确的,并且每当XAML给我这种奇怪的行为时,我都会求助于删除bin和obj文件夹,该操作可以完成操作(再次)。