Пытаюсь зарегистрировать свойство зависимости
public static readonly DependencyProperty BrushSizeProperty;
static MainWindow()
{
BrushSizeProperty = DependencyProperty.Register("BrushSize",typeof(int),typeof(InkCanvas),
new FrameworkPropertyMetadata(
// Значение свойства по умолчанию.
(int)1,
// Опции метаданных.
FrameworkPropertyMetadataOptions.AffectsMeasure,
// Делегат, указывающий на свойство, вызываемое при изменении свойства.
new PropertyChangedCallback(FrameworkElement.OnTransformDirty))
);
}
- на строке new PropertyChangedCallback(FrameworkElement.OnTransformDirty))
-там где делегат PropertyChangedCallback - у меня не видит статический метод OnTransformDirty(). Почему?
Потому что у вас при указании обработчика, который будет срабатывать при изменении свойства зависимости BrushSizeProperty
указан приватный метод OnTransformDirty
класса FrameworkElement
.
Посмотрите, для того что бы создать свойство зависимости, необходимо выполнить всего несколько действий.
public partial class MyUserControl : UserControl
{
public MyUserControl()
{
InitializeComponent();
}
// 1 Создать обертку над свойством зависимостей.
public int BrushSize
{
get
{
return (int)GetValue(BrushSizeProperty);
}
set
{
SetValue(BrushSizeProperty, value);
}
}
// 2 Создать и зарегистрировать свойство зависимости.
// При этом, во время регистрации свойства мы можем его сконфигурировать.
// В данном примере:
// nameof(BrushSize) - имя свойства
// typeof(int) - тип свойства
// typeof(MyUserControl) - тип, в который владеет данным свойством
// FrameworkPropertyMetadata - один из наследников PropertyMetadata,
// позволяющий указать дополнительные настройки. В нашем случае мы
// указываем:
// значение по умолчанию
// говорим свойство будет иметь двухстороннюю привязку
// а так же определяем обработчик, который будет срабатывать
// при изменении свойства
public static readonly DependencyProperty BrushSizeProperty =
DependencyProperty.Register(
nameof(BrushSize),
typeof(int),
typeof(MyUserControl),
new FrameworkPropertyMetadata(default(int),
FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
BrushSizeChangedCallback));
private static void BrushSizeChangedCallback(DependencyObject dependencyObject,
DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
код скрипта который лежит на Panel в Canvas, при игре на телефоне часто нет реакции на движение пальцем или она некоректна(поворачивает не в ту сторо),...
Текст парсится в хаотичном порядке, одно слово на первой строке, второе на 2 и тд