It would be possible to save some lines of code with replacing a ParamCommand through a RelayCommand. Example: TBoxCommand = new RelayCommand<TextBox>(DoParamCommandTBox); ... public IRelayCommand<TextBox> TBoxCommand { get; } ... private void DoParamCommandTBox(object parameter) { _textData.ActiveTextBox = (TextBox)parameter; _textData.ActiveRichTextBox = null; OnPropertyChangedTest = "PlainText"; } you should update this to new toolkit , and use new command and new property shortcuts.