2014-09-02 3 views

ответ

1

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

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 
    } 
} 
Смежные вопросы