WPF中的事件处理程序



为什么WPF中的所有事件处理程序默认声明为具有私有访问权限?

private void CommonClickHandler(object sender, RoutedEventArgs e)

这是一种模式吗?

因为它们不应该被其他类使用,所以这是默认行为。

BTW:代替使用命令和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 
   }
}

相关内容

  • 没有找到相关文章

最新更新