void targetObject_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { var ctx = ((FrameworkElement)sender).DataContext as FrameworkElement; var surface = ctx.TryFindParent <DesignSurface>(); if (surface != null) { _binding = new Binding(_propertyName); _binding.Source = ctx; _binding.UpdateSourceTrigger = UpdateSourceTrigger; _binding.Mode = BindingMode.TwoWay; var designItem = surface.DesignContext.Services.Component.GetDesignItem(ctx); _converter = new DesignItemSetConverter(designItem, _propertyName, SingleItemProperty); _binding.Converter = _converter; _targetObject.SetBinding(_targetProperty, _binding); } else { _targetObject.ClearValue(_targetProperty); } }
void targetObject_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { var ctx = ((FrameworkElement) sender).DataContext as FrameworkElement; var surface = ctx.TryFindParent<DesignSurface>(); if (surface != null) { _binding = new Binding(_propertyName); _binding.Source = ctx; _binding.UpdateSourceTrigger = UpdateSourceTrigger; _binding.Mode = BindingMode.TwoWay; var designItem = surface.DesignContext.Services.Component.GetDesignItem(ctx); _converter = new DesignItemSetConverter(designItem, _propertyName, SingleItemProperty); _binding.Converter = _converter; _targetObject.SetBinding(_targetProperty, _binding); } else { _targetObject.ClearValue(_targetProperty); } }
void targetObject_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { var dcontext = ((FrameworkElement)sender).DataContext; DesignContext context = null; FrameworkElement fe = null; DesignItem designItem = null; if (dcontext is DesignItem) { designItem = (DesignItem)dcontext; context = designItem.Context; fe = designItem.View as FrameworkElement; } else if (dcontext is FrameworkElement) { fe = ((FrameworkElement)dcontext); var srv = fe.TryFindParent <DesignSurface>(); if (srv != null) { context = srv.DesignContext; designItem = context.Services.Component.GetDesignItem(fe); } } if (context != null) { _binding = new Binding(_propertyName); _binding.Source = fe; _binding.UpdateSourceTrigger = UpdateSourceTrigger; if (designItem.Services.Selection.SelectedItems.Count > 1 && UpdateSourceTriggerMultipleSelected != null) { _binding.UpdateSourceTrigger = UpdateSourceTriggerMultipleSelected.Value; } _binding.Mode = BindingMode.TwoWay; _binding.ConverterParameter = ConverterParameter; _converter = new DesignItemSetConverter(designItem, _propertyName, SingleItemProperty, AskWhenMultipleItemsSelected, Converter); _binding.Converter = _converter; _targetObject.SetBinding(_targetProperty, _binding); } else { _targetObject.ClearValue(_targetProperty); } }
void targetObject_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { var dcontext = ((FrameworkElement) sender).DataContext; DesignContext context = null; FrameworkElement fe = null; DesignItem designItem = null; if (dcontext is DesignItem) { designItem = (DesignItem)dcontext; context = designItem.Context; fe = designItem.View as FrameworkElement; } else if (dcontext is FrameworkElement) { fe = ((FrameworkElement)dcontext); var srv = fe.TryFindParent<DesignSurface>(); if (srv != null) { context = srv.DesignContext; designItem = context.Services.Component.GetDesignItem(fe); } } if (context != null) { _binding = new Binding(_propertyName); _binding.Source = fe; _binding.UpdateSourceTrigger = UpdateSourceTrigger; _binding.Mode = BindingMode.TwoWay; _binding.ConverterParameter = ConverterParameter; _converter = new DesignItemSetConverter(designItem, _propertyName, SingleItemProperty, AskWhenMultipleItemsSelected, Converter); _binding.Converter = _converter; _targetObject.SetBinding(_targetProperty, _binding); } else { _targetObject.ClearValue(_targetProperty); } }