динамическое назначение события - PullRequest
0 голосов
/ 06 октября 2011

Я динамически создаю GroupBox и пытаюсь назначить ему событие MouseLeftButtonDown для выполнения какого-либо действия, когда пользователь щелкает по нему левой кнопкой мыши.Вот что я пробовал:

public MyClass()
{
    tagGroupBox.MouseLeftButtonDown += new MouseButtonEventHandler(tagGroupBox_MouseLeftButtonDown);  //generates error: "tagGroupBox_MouseLeftButtonDown does not exist in the current context"
}

private void tagGroupBox__MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
     MessageBox.Show("Left click event triggered");
}

Ответы [ 2 ]

4 голосов
/ 06 октября 2011

В методе обработки есть __ (двойное подчеркивание).

void tagGroupBox_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
}
0 голосов
/ 06 октября 2011

Это работает для меня:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        GroupBox g = new GroupBox();
        g.MouseLeftButtonUp += new MouseButtonEventHandler(g_MouseLeftButtonUp);
        MainGrid.Children.Add(g);
    }

    void g_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        System.Diagnostics.Debugger.Break();
    }
}

XAML

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid x:Name="MainGrid">

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