2014-09-02 144 views
0

爲什麼默認情況下,WPF中的所有事件處理程序都聲明瞭私有訪問權限?WPF中的事件處理程序

private void CommonClickHandler(object sender, RoutedEventArgs e) 

它是一種模式嗎?

回答

1

因爲它們不應該被其他類使用,所以這是默認行爲。

順便說一下:使用命令代替和System.Windows.Interactivity,框架如galasoft並遵循MVVM模式。

<UserControl.....> 
<UserControl.DataContext> 
    <local:YourViewModel/> <!-- Use a viewmodel locator instead --> 
</UserControl.DataContext> 
    <Button Content="Click Me" Command={Binding SomeCommand}/> 
</UserControl> 

VM:

public class YourViewModel : ViewModelBase 
{ 
    public ICommand SomeCommand{get; set;} 

    public YourViewModel() 
    { 
     InitStuff(); 
    } 

    protected virtual void InitStuff() 
    { 
     SomeCommand = new RelayCommand(ButtonClicked); 
    } 

    private void ButtonClicked() 
    { 
    // DO stuff 
    } 
}