123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- using System;
- using System.ComponentModel;
- using System.Windows;
- using System.Windows.Controls;
- using HandyControl.Data;
- namespace HandyControl.Controls;
- public class PropertyItem : ListBoxItem
- {
- public static readonly DependencyProperty ValueProperty = DependencyProperty.Register(
- nameof(Value), typeof(object), typeof(PropertyItem), new PropertyMetadata(default(object)));
- public object Value
- {
- get => GetValue(ValueProperty);
- set => SetValue(ValueProperty, value);
- }
- public static readonly DependencyProperty DisplayNameProperty = DependencyProperty.Register(
- nameof(DisplayName), typeof(string), typeof(PropertyItem), new PropertyMetadata(default(string)));
- public string DisplayName
- {
- get => (string) GetValue(DisplayNameProperty);
- set => SetValue(DisplayNameProperty, value);
- }
- public static readonly DependencyProperty PropertyNameProperty = DependencyProperty.Register(
- nameof(PropertyName), typeof(string), typeof(PropertyItem), new PropertyMetadata(default(string)));
- public string PropertyName
- {
- get => (string) GetValue(PropertyNameProperty);
- set => SetValue(PropertyNameProperty, value);
- }
- public static readonly DependencyProperty PropertyTypeProperty = DependencyProperty.Register(
- nameof(PropertyType), typeof(Type), typeof(PropertyItem), new PropertyMetadata(default(Type)));
- public Type PropertyType
- {
- get => (Type) GetValue(PropertyTypeProperty);
- set => SetValue(PropertyTypeProperty, value);
- }
- public static readonly DependencyProperty PropertyTypeNameProperty = DependencyProperty.Register(
- nameof(PropertyTypeName), typeof(string), typeof(PropertyItem), new PropertyMetadata(default(string)));
- public string PropertyTypeName
- {
- get => (string) GetValue(PropertyTypeNameProperty);
- set => SetValue(PropertyTypeNameProperty, value);
- }
- public static readonly DependencyProperty DescriptionProperty = DependencyProperty.Register(
- nameof(Description), typeof(string), typeof(PropertyItem), new PropertyMetadata(default(string)));
- public string Description
- {
- get => (string) GetValue(DescriptionProperty);
- set => SetValue(DescriptionProperty, value);
- }
- public static readonly DependencyProperty IsReadOnlyProperty = DependencyProperty.Register(
- nameof(IsReadOnly), typeof(bool), typeof(PropertyItem), new PropertyMetadata(ValueBoxes.FalseBox));
- public bool IsReadOnly
- {
- get => (bool) GetValue(IsReadOnlyProperty);
- set => SetValue(IsReadOnlyProperty, ValueBoxes.BooleanBox(value));
- }
- public static readonly DependencyProperty DefaultValueProperty = DependencyProperty.Register(
- nameof(DefaultValue), typeof(object), typeof(PropertyItem), new PropertyMetadata(default(object)));
- public object DefaultValue
- {
- get => GetValue(DefaultValueProperty);
- set => SetValue(DefaultValueProperty, value);
- }
- public static readonly DependencyProperty CategoryProperty = DependencyProperty.Register(
- nameof(Category), typeof(string), typeof(PropertyItem), new PropertyMetadata(default(string)));
- public string Category
- {
- get => (string) GetValue(CategoryProperty);
- set => SetValue(CategoryProperty, value);
- }
- public static readonly DependencyProperty EditorProperty = DependencyProperty.Register(
- nameof(Editor), typeof(PropertyEditorBase), typeof(PropertyItem), new PropertyMetadata(default(PropertyEditorBase)));
- public PropertyEditorBase Editor
- {
- get => (PropertyEditorBase) GetValue(EditorProperty);
- set => SetValue(EditorProperty, value);
- }
- public static readonly DependencyProperty EditorElementProperty = DependencyProperty.Register(
- nameof(EditorElement), typeof(FrameworkElement), typeof(PropertyItem), new PropertyMetadata(default(FrameworkElement)));
- public FrameworkElement EditorElement
- {
- get => (FrameworkElement) GetValue(EditorElementProperty);
- set => SetValue(EditorElementProperty, value);
- }
- public static readonly DependencyProperty IsExpandedEnabledProperty = DependencyProperty.Register(
- nameof(IsExpandedEnabled), typeof(bool), typeof(PropertyItem), new PropertyMetadata(ValueBoxes.FalseBox));
- public bool IsExpandedEnabled
- {
- get => (bool) GetValue(IsExpandedEnabledProperty);
- set => SetValue(IsExpandedEnabledProperty, ValueBoxes.BooleanBox(value));
- }
- public PropertyDescriptor PropertyDescriptor { get; set; }
- public virtual void InitElement()
- {
- if (Editor == null) return;
- EditorElement = Editor.CreateElement(this);
- Editor.CreateBinding(this, EditorElement);
- }
- }
|