Не могу заставить мою пользовательскую прикрепленную собственность работать

Я относительно новичок в wpf.
В настоящее время я пишу текстовое приключение, в котором игрок может принимать решения. Чтобы определить, какой вариант был выбран, я хотел добавить пользовательское прикрепленное свойство для хранения информации. Моя проблема в том, что я получаю сообщение об ошибке, что мое пользовательское свойство не существует в моем пространстве имен. Теперь мой вопрос: чего не хватает в моем коде, чтобы он работал. Я также открыт для других решений для этой ситуации.
Ниже приведен мой код на С#:

namespace A_Fairytale
{
    public static class CustomProperties
    {
        public static readonly DependencyProperty HiddenInfo = DependencyProperty.RegisterAttached(
            "HiddenInfo",
            typeof(string),
            typeof(Control),
            new FrameworkPropertyMetadata("")
        );

        public static string GetHiddenInfo(UIElement element)
            {
                if (element == null)
                    throw new ArgumentNullException("HiddenInfo");
                return (string)element.GetValue(HiddenInfo);
            }

        public static void SetHiddenInfo(UIElement element, string value)
        {
            if (element == null)
                throw new ArgumentNullException("HiddenInfo");
            element.SetValue(HiddenInfo, value);
        }
    }
}

И XAML:

<Window x:Class="A_Fairytale.MainWindow"
        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:local="clr-namespace:A_Fairytale"
        mc:Ignorable="d"
        WindowState="Maximized"
        WindowStyle="None"
        Title="MainWindow" Height="600" Width="1500">
    <Grid Name="ContentWrapper">
        <DockPanel Name="ChoiceContainer" Grid.Row="1" Grid.Column="1">
            <Button local:CustomProperties.HiddenInfo="" DockPanel.Dock="Left" Name="choice_left" Click="Choice_Click" FontWeight="Bold" FontSize="15" Style="{StaticResource ButtonWithCustomHover}"></Button>
            <Button local:CustomProperties.HiddenInfo="" DockPanel.Dock="Right" Name="choice_right" Click="Choice_Click" FontWeight="Bold" FontSize="15" Style="{StaticResource ButtonWithCustomHover}"></Button>
            <Button local:CustomProperties.HiddenInfo="" Name="choice_center" Click="Choice_Click" FontWeight="Bold" FontSize="15" Style="{StaticResource ButtonWithCustomHover}"></Button>
        </DockPanel>
        <Button Name="Continue" Grid.Row="2" Grid.Column="1" Visibility="Collapsed" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" FontWeight="Bold" FontStyle="Italic"  FontSize="40">Weiter</Button>
    </Grid>
</Window>

person Constikri    schedule 26.11.2018    source источник
comment
Ошибка во время разработки или во время выполнения? Дизайнер иногда ошибочно так говорит, пока не заметит... Если время проектирования, попробуйте пересобрать решение.   -  person Richardissimo    schedule 26.11.2018
comment
В качестве примечания: когда вы создаете исключение ArgumentNullException, строковый параметр конструктора исключений должен получить имя параметра, который имеет значение null, т. е. "element".   -  person Clemens    schedule 27.11.2018
comment
@Clemens Я попробовал ответы, представленные в других сообщениях, но они не сработали.   -  person Constikri    schedule 27.11.2018
comment
Поле идентификатора свойства зависимости должно называться HiddenInfoProperty.   -  person Clemens    schedule 27.11.2018
comment
@Richardissimo ошибка появляется в дизайнере, а также когда я пытаюсь скомпилировать код. Еще одна полезная информация может заключаться в том, что дизайнер знает свойство, но оно помечено как несуществующее. Я отредактировал код с изменениями, которые я пробовал.   -  person Constikri    schedule 27.11.2018
comment
Обратите внимание, что я отменил ваше редактирование, потому что оно полностью изменило ваш вопрос. Не делайте этого, если вопрос уже закрыт как дубликат.   -  person Clemens    schedule 27.11.2018
comment
@Clemens Я только что понял, что не найдено не мое свойство, а класс, в который я его вставил. Изменение идентификатора свойства также не сработало. Прошу прощения за мои оплошности, это мой первый пост на этом форуме.   -  person Constikri    schedule 27.11.2018
comment
Помимо неправильного типа владельца и имени поля идентификатора (и параметра исключения), все в вашем коде выглядит нормально. Должно быть что-то, что вы нам не показали. Попробуйте Rebuild All и проверьте, правильно ли все компилируется.   -  person Clemens    schedule 27.11.2018
comment
Я решил это, оказалось, что оператор if был вредоносным, после того, как я удалил его и внес рекомендуемые вами изменения в именах, это сработало.   -  person Constikri    schedule 27.11.2018