在代码c#中调用事件

时间:2013-08-12 15:35:00

标签: c# wpf events

是否可以在代码中调用如下所示的事件。

private void Item_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{

}

我要调用它的对象是ListView.Items [listView.Items.Count-1]

XAML

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <EventSetter Event="PreviewMouseLeftButtonDown" 
            Handler="ListViewItem_PreviewMouseLeftButtonDown" />
    </Style>
</ListView.ItemContainerStyle>

所以我试图调用它看起来像这样,但它不起作用。

Item_PreviewMouseLeftButtonDown(listView.Items[slideListView.Items.Count-1], null);

1 个答案:

答案 0 :(得分:5)

直接调用事件处理程序或“伪造”事件通常是不好的做法。而不是这样,为什么不结束处理程序的功能并将其放入事件处理程序将调用的另一个方法。然后,您也可以从任何其他位置调用该方法。

private void PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    // Doing something
}

=&GT;

private DoingSomething()
{
    // Doing something
}

private void PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    DoingSomething();
}

现在您可以从任何地方拨打DoingSomething()