2013-05-03 2 views
2

У меня есть пользовательский элемент управления AlarmSettings, словарь ресурсов пользовательского элемента управления содержит экземпляр моего настраиваемого класса «AlarmClock», у AlarmClock есть свойство зависимостей, называемое AlarmName, почему я получаю ошибку Error «Элемент« 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

вам удалось решить эту ошибку? –

+0

Нет, никогда не решался, и проект с тех пор был оставлен –

ответ

0

Что такое DataContext пользователя userControl?

Добавить пустой конструктор в ваш класс alarmClock.

+0

Я не задал контекст данных, я пытаюсь просто привязать в XAML к свойству Name пользовательского элемента управления, в котором он находится, могу ли я сделать это ? У меня есть безпараметрический конструктор для класса AlarmClock, хотя он не пуст, просто не показывал его в моем примере, обновил его. –

0

У меня была такая же проблема при доступе к свойству зависимости от XAML в Visual Studio. Я просто перестроил проект.

1

Я переместил проект из одного места в другое и получил ту же проблему с свойством зависимости, когда я снова открыл его. Я просто перестраиваю его, и ошибки решены.

Смежные вопросы