2015-09-11 2 views
1

У меня есть следующий метод, который вызывается, когда выбор ListView элемента изменен:Как вызвать метод ListView SelectionChanged?

private void SlideTransitionsList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 

......... 
} 

Я хотел бы, чтобы вызвать этот метод из какого-либо другого метода. Как мне это сделать?

+0

Вы используете 'sender' и' e' в своем обработчике? – thumbmunkeys

+0

Да, то же, что и в примере кода – Ivan

+0

@ Иван нет Я имел в виду в коде (где он говорит .......) – thumbmunkeys

ответ

5

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

private void SlideTransitionsList_SelectionChanged(object sender,  SelectionChangedEventArgs e) 
{ 
    DoSomeStuffOnSelectionChanged(); 
} 

public void DoSomeStuffOnSelectionChanged() 
{ 
    // enter code here 
} 
+0

Мои настроения точно. –

2

Извлечь весь код от SlideTransitionsList_SelectionChanged обработчиком другому методу и назвать его.

private void SlideTransitionsList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    DoSmth(); 
} 
... 
private void OtherMethod() 
{ 
    DoSmth(); 
} 
0

Если paramters из sender и e не используются, просто вызовите метод из любого другого метода.

SlideTransitionsList_SelectionChanged(null, null); 

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


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

Смежные вопросы