Подскажите почему у меня не получается заюзать DependencyProperty в XALM. Делал так:
1) Создал WPF-проект с именем DependencyProperty (для него создалось основное окно с именем MainWindow [MainWindow.cs и MainWindow.xaml])
2) В этом проекте создал UserControl(WPF) с именем MyControl
3) В MyUserControl объявляю DependencyProperty с именем "My" так:
namespace DependencyProperties
{
public partial class MyControl : UserControl
{
public static DependencyProperty MyProperty;
static MyControl()
{
var metadata = new FrameworkPropertyMetadata(
string.Empty, FrameworkPropertyMetadataOptions.AffectsRender);
MyProperty = DependencyProperty.Register("My",
typeof(string), typeof(MyControl), metadata);
}
public MyControl()
{
InitializeComponent();
}
public Image Image
{
get { return (Image)GetValue(MyProperty); }
set { SetValue(MyProperty, value); }
}
}
}
4) Пытаюсь в заюзать моё DependencyProperty в MainWindow.xaml так:
<Window x:Class="DependencyProperties.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:DependencyProperties"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<local:MyControl My="123"/> // <<< здесь пишет ошибку error MC3072: The property 'My' does not exist in XML namespace 'clr-namespace:DependencyProperties'
</Grid>
</Window>
Здравствуйте, Cynic, Вы писали:
C> ...
public Image Image -->
public string My... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Здравствуйте, _Raz_, Вы писали:
_R_>Здравствуйте, Cynic, Вы писали:
C>> ...
_R_>public Image Image --> public string My
Чё то я переработал
Здравствуйте, Cynic, Вы писали:
C>Подскажите почему у меня не получается заюзать DependencyProperty в XALM. Делал так:
Не надо делать это руками
идём курсором в описание класса
жмакаем Ctrl+Space
в появившемся хинт-окне набираем волшебное слово propdp
нажимаем TAB два раза — получаем код-заготовку, вставленную в наш класс
поочерёдно вписываем все реквизиты (тип, название пропертя, владелец и т.п.), жмакая TAB для перехода к следующей позиции (да, визард тот ещё по удобству, но что имеем)
профит!