我更改了ListView项目选择时调用的以下方法:
private void SlideTransitionsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
.........
}
我想从其他方法中调用此方法。我该怎么做?
答案 0 :(得分:5)
这是一个事件处理程序。它触发了UI操作。直接调用它并不是一个好主意。在其中放入一个方法,然后如果需要从其他地方调用该方法。
private void SlideTransitionsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DoSomeStuffOnSelectionChanged();
}
public void DoSomeStuffOnSelectionChanged()
{
// enter code here
}
答案 1 :(得分:2)
将SlideTransitionsList_SelectionChanged
处理程序中的所有代码提取到其他方法并调用它。
private void SlideTransitionsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DoSmth();
}
...
private void OtherMethod()
{
DoSmth();
}
答案 2 :(得分:0)
如果未使用sender
和e
的参数,只需直接从任何其他方法调用该方法即可。
SlideTransitionsList_SelectionChanged(null, null);
请注意,您不是通过调用此方法来触发事件;这只是事件的回调方法,可以被任何其他方法使用。
其他答案中给出的建议同样正确,但只是编码范式的合成因素,可以作为偏好使用,也可以用作样式。