События в моем UserControl не запускаются - почему? - PullRequest
2 голосов
/ 21 мая 2011

Я поместил пользовательский элемент управления UserControl в свое окно и установил событие MouseDoubleClick внутри моего элемента управления usersr, чтобы изменить некоторые его свойства.

Однако, используя точки останова, я понял, что событие MouseDoubleClick никогда не запускается. Это верно для любого события, которое я установил в своем пользовательском элементе управления.

Чего мне не хватает?

Кстати: я также создал некоторые DependencyProperty, «по книге», который работает хорошо, если это помогает ...

Ответы [ 2 ]

1 голос
/ 21 мая 2011

Вот как обработать MouseDoubleClick в вашем UserControl.

Создайте новый пользовательский элемент управления с именем UserControl1.Вот тело UserControl.xaml:

<Grid Background="Red">
    <!-- leave this blank at first -->
</Grid>

Мы установили фон на красный, чтобы мы могли видеть, что мы работаем с пользовательским элементом управления.Кроме того, для получения событий щелчка необходим фон.

Добавьте переопределение метода двойного щелчка в коде для пользовательского элемента управления в UserControl1.xaml.cs:

protected override void OnMouseDoubleClick(MouseButtonEventArgs e)
{
    base.OnMouseDoubleClick(e);
    MessageBox.Show("Double-Click!");
}

Теперь создайте окно и добавьте в него свой пользовательский элемент управления, например, Window1.xaml:

<Grid>
    <local:UserControl1/>
</Grid>

Запустите вашу программу так, чтобы отображалось Window1 и все окно было красным.Дважды щелкните по окну, и вы увидите окно сообщения:

enter image description here

Как только все это заработает, вы можете продолжить с любой другой целью, необходимой для использования двойногособытие клика для.

0 голосов
/ 21 мая 2011

Настройка фона для вас User Control.Это может быть Transparent или White.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...