/// <summary>
        /// Raises a PropertyValueChanged event.
        /// </summary>
        /// <param name="e">The property value changed event arguments.</param>
        protected virtual void OnPropertyValueChanged(IPropertyValueChangedEventArgs e)
        {
            Debug.Assert(e != null);

            // Calls the property value changed event handlers.
            PropertyValueChanged?.Invoke(this, e);
        }
        private void OnSelectedViewChanged(IPropertyValueChangedEventArgs <ComboBoxEntity> e)
        {
            if (e?.NewValue?.Key == null)
            {
                return;
            }

            //update the sortdescriptions for this view
            SortDescriptionSource = SortDescriptionMappings[e.NewValue.Key];

            CasualMessenger.Instance.UpdateSkillBreakdownView(this, e.NewValue.Key.ToString());
        }
        private void OnSelectedViewChanged(IPropertyValueChangedEventArgs<ComboBoxEntity> e)
        {
            if (e?.NewValue?.Key == null) return;

            //update the sortdescriptions for this view
            SortDescriptionSource = SortDescriptionMappings[e.NewValue.Key];

            CasualMessenger.Instance.UpdateSkillBreakdownView(this, e.NewValue.Key.ToString());
        }