private void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
case "Text":
case "ExtraText":
case "Image":
case "ImageTransparentColor":
case "Enabled":
case "Checked":
// Update to show new state
_provider.ProviderNeedPaintDelegate(this, new NeedLayoutEventArgs(true));
break;
case "KryptonCommand":
// Unhook from any existing command
if (_cachedCommand != null)
_cachedCommand.PropertyChanged -= new PropertyChangedEventHandler(OnCommandPropertyChanged);
// Hook into the new command
_cachedCommand = _checkButton.KryptonCommand;
if (_cachedCommand != null)
_cachedCommand.PropertyChanged += new PropertyChangedEventHandler(OnCommandPropertyChanged);
// Update to show new state
_provider.ProviderNeedPaintDelegate(this, new NeedLayoutEventArgs(true));
break;
}
}