@Zulkund

Как создать свойство зависимости в WPF через разметку XAML?

Добрый день! Изучаю WPF и столкнулся с такой проблемой: не получается через разметку xaml, создать образец класса, который содержал бы свойство зависимости. Пишет, что в данном пространстве имен такого класса нет. fb69792285e34e96942828f43ca04409.PNG. Хотя данный класс в обозревателе решений есть ad73a98ff08446c69c3e4df42998aa50.PNG Скажите в чем может быть ошибка? Как ее можно исправить?
Код Class1:
using System;
using System.Windows;

namespace WpfDependency
{
    class Class1 : FrameworkElement
    {
        public static DependencyProperty DataProperty1;
        static Class1()
        {
            
            DataProperty1 = DependencyProperty.Register("Dataa", typeof(int), typeof(Class1));
        }
        public int Dataa
        {
            get
            {
                return (int)GetValue(DataProperty1);
            }
            set
            {
                SetValue(DataProperty1, value);
            }
        }
    }
}
  • Вопрос задан
  • 412 просмотров
Решения вопроса 2
Rou1997
@Rou1997
А вы проект построили после того, как создали класс?
Ответ написан
tomnolane
@tomnolane
профессиональный разработчик
у вас в шапке указано: x:Class="WpfDependency.MainWindow"

а про Class1 ничего не сказано.... т.к. наследован от FrameworkElement (не в MainWindow) и wpf не видит....
подключите общий namespace xmlns:m="clr-namespace:WpfDependency" в шапке....
и ниже до Grid вставте
<Page>
 <Page.Resources>
            <Class1 x:Key="blablabla"></Class1 >
        </Page.Resources>
<Grid DataContext="{Binding Source={StaticResource blablabla}}"....
// ваш код xaml после чего у mycontrols ставите атрибуты
</Grid>
 </Page>
</Window>


т.е. у вас сейчас Class1 ищет в MainWindow....
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы