Browse Source

Fixes in DesignItemBinding!

pull/692/head
jogibear9988 10 years ago
parent
commit
10baef1e4d
  1. 22
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/MarkupExtensions/DesignItemBinding.cs

22
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/MarkupExtensions/DesignItemBinding.cs

@ -63,23 +63,33 @@ namespace ICSharpCode.WpfDesign.Designer.MarkupExtensions
return null; return null;
} }
public void CreateBindingOnProperty(DependencyProperty targetProperty, FrameworkElement targetObject)
{
_targetProperty = targetProperty;
_targetObject = targetObject;
_targetObject.DataContextChanged += targetObject_DataContextChanged;
targetObject_DataContextChanged(_targetObject, new DependencyPropertyChangedEventArgs());
}
void targetObject_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) void targetObject_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{ {
var dcontext = ((FrameworkElement) sender).DataContext; var dcontext = ((FrameworkElement) sender).DataContext;
DesignContext context; DesignContext context = null;
FrameworkElement fe; FrameworkElement fe = null;
DesignItem designItem; DesignItem designItem = null;
if (dcontext is DesignItem) { if (dcontext is DesignItem) {
designItem = (DesignItem)dcontext; designItem = (DesignItem)dcontext;
context = designItem.Context; context = designItem.Context;
fe = designItem.View as FrameworkElement; fe = designItem.View as FrameworkElement;
} else { } else if (dcontext is FrameworkElement) {
fe = ((FrameworkElement)dcontext); fe = ((FrameworkElement)dcontext);
var srv = fe.TryFindParent<DesignSurface>(); var srv = fe.TryFindParent<DesignSurface>();
context = srv.DesignContext; if (srv != null) {
designItem = context.Services.Component.GetDesignItem(fe); context = srv.DesignContext;
designItem = context.Services.Component.GetDesignItem(fe);
}
} }
if (context != null) if (context != null)

Loading…
Cancel
Save