Определения и использование WPF DependencyPropertyC#

Место общения программистов C#
Ответить
Anonymous
 Определения и использование WPF DependencyProperty

Сообщение Anonymous »

Я все еще новичок в создании DependencyProperties и расширении других элементов управления в WPF.
Я расширил ContentControl, который хочу использовать в качестве DialogHeader, и следую тому, как я это сделал. это в прошлом, но, возможно, я делаю это неправильно:
Вот что у меня есть:
DialogHeader.cs

Код: Выделить всё

public static class DialogHeader
{
static DialogHeader()
{
AllowDraggingProperty = AllowDraggingPropertyKey.DependencyProperty;
}

#region - AllowDragging -

public static readonly DependencyProperty AllowDraggingProperty;

private static readonly DependencyPropertyKey AllowDraggingPropertyKey =
DependencyProperty.RegisterAttachedReadOnly("AllowDragging", typeof(bool), typeof(DialogHeader),
new PropertyMetadata(false));

public static bool GetAllowDragging(FrameworkElement element)
{
return element is null
? throw new ArgumentNullException(nameof(element))
: (bool)element.GetValue(AllowDraggingProperty);
}

public static void SetAllowDragging(FrameworkElement element, bool value)
{
if (element is null)
throw new ArgumentNullException(nameof(element));

element.SetValue(AllowDraggingProperty, value);
}

#endregion - AllowDragging -
}
ContentControlStyle.xaml[/b] MainWindow.xaml Я сейчас создаю собственный внутренний набор элементов управления и шаблонов WPF, который будет использоваться в нескольких наших решениях.
В рамках этого я я создаю окно, в котором показаны все стили и шаблоны, поэтому в MainWindow выше есть элемент управления вкладками.
Проблема, с которой я сталкиваюсь в данный момент, заключается в запуске приложения, я нажимаю это исключение:

InvalidOperationException: свойство «AllowDragged» зарегистрировано как
только для чтения и не может быть изменено без ключа авторизации.

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

Подробнее здесь: https://stackoverflow.com/questions/790 ... and-usages
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»