private static void OnSetCommandParameterCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { ComboBox cb = d as ComboBox; if (cb != null) { //Acquire behavior attached to the list view and set the command parameter //The behavior class executes the command ComboBoxSelectCommandBehavior behavior = GetOrCreateBehavior(cb); behavior.CommandParameter = e.NewValue; } }
private static ComboBoxSelectCommandBehavior GetOrCreateBehavior(ComboBox cb) { //First get the behavior, maybe it is already created ComboBoxSelectCommandBehavior behavior = cb.GetValue(SelectCommandBehaviorProperty) as ComboBoxSelectCommandBehavior; if (behavior == null) { //if the behavior is not created then create one behavior = new ComboBoxSelectCommandBehavior(cb); cb.SetValue(SelectCommandBehaviorProperty, behavior); } //return the behavior //Caller function sets the command or command parameter properties return(behavior); }