Wpf Usercontrol, проверьте, привязан ли RoutedEvent

У меня есть следующий UserControl:

<UserControl x:Class="DueVCheck.Pl.Gui.CustomControl.ListInfoBar"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:local="clr-namespace:DueVCheck.Pl.Gui.CustomControl"
         mc:Ignorable="d" d:DataContext="{d:DesignInstance local:ListInfoBar}" >      
    <Button Name="NewRowBtn" Margin="5" Click="NewRowBtn_OnClick" Content="New"/>
</UserControl>   

Файл с кодом:

using System.Windows;

namespace DueVCheck.Pl.Gui.CustomControl
{
    public partial class ListInfoBar
    {       
        public ListInfoBar()
        {
            DataContext = this;
            InitializeComponent();
        }

        public static readonly RoutedEvent NewClickEvent =
        EventManager.RegisterRoutedEvent("NewClick", RoutingStrategy.Bubble,
            typeof(RoutedEventHandler), typeof(ListInfoBar));

        public event RoutedEventHandler NewClick
        {
            add { AddHandler(NewClickEvent, value); }
            remove { RemoveHandler(NewClickEvent, value); }
        }

        private void NewRowBtn_OnClick(object sender, RoutedEventArgs e) 
        { 
            RaiseEvent(new RoutedEventArgs(NewClickEvent)); }
        }
    }
}

Использование Usercontrol:

<customControl:ListInfoBar Margin="10,0,10,0" NewClick="NewRowOnClick"/>

Что мне нужно, так это то, что Usercontrol отключает NewRowBtn всякий раз, когда NewClick не связан через XAML. Проблема в том, что Add или Remove никогда не вызывались при связывании события через XAML. Как это исправить?

0 ответов

Другие вопросы по тегам