我有以下方法,当ListView项选择被改变时调用:
private void SlideTransitionsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
.........
}
我想从其他方法调用这个方法。我该怎么做呢?
这是一个事件处理程序。它在UI动作上触发。直接给它打电话不是个好主意。在它里面放一个功能,然后你可以在需要的时候从其他地方调用那个功能。
private void SlideTransitionsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DoSomeStuffOnSelectionChanged();
}
public void DoSomeStuffOnSelectionChanged()
{
// enter code here
}
将SlideTransitionsList_SelectionChanged
处理程序中的所有代码提取到其他方法中并调用
private void SlideTransitionsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DoSmth();
}
...
private void OtherMethod()
{
DoSmth();
}
如果不使用sender
和e
的参数,则直接从其他方法调用该方法即可。
SlideTransitionsList_SelectionChanged(null, null);
注意,你不是通过调用这个方法来触发一个事件;这只是事件的回调方法,可以被任何其他方法使用。
其他答案中给出的建议同样正确,但只是编码范例的语法建议,可以作为偏好或风格的指示使用。