Indermove
@Indermove
C#/.NET back-end разработчик

Как создать Attached Property для стандартного контрола?

Добрый день, товарищи, возник вопрос, как создать новое свойство для системного контрола, исходный код которого недоступен? То есть например, как в строке ниже, появилась возможность менять новое свойство NewProperty у контрола DataGridTextColumn:

<DataGridTextColumn NewProperty = "111"  Header="Main"/>
  • Вопрос задан
  • 235 просмотров
Решения вопроса 2
@tex0
Унаследоваться от системного контрола, добавить свое свойство.
Ответ написан
@SZolotov
Asp.net core, MAUI,WPF,Qt, Avalonia
<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpfApplication1="clr-namespace:WpfApplication1"
        Title="MainWindow" Height="350" Width="525">
    <Grid wpfApplication1:NewPropertyHelper.Prop="{Binding}">
        
    </Grid>
</Window>

namespace WpfApplication1
{
    public static class NewPropertyHelper
    {
        public static readonly DependencyProperty PropProperty = DependencyProperty.RegisterAttached("Prop", typeof (object), typeof (NewPropertyHelper), new PropertyMetadata(default(object)));

        public static object GetProp(UIElement element)
        {
            return (object) element.GetValue(PropProperty);
        }

        public static void SetProp(UIElement element, object value)
        {
            element.SetValue(PropProperty, value);
        }
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы