private void OnCreateBindingRequested(object sender, CreateBindingRequestedEventArgs e) { var panel = this.FindPropertiesHost(); var pvm = (PropertyViewModel)DataContext; e.BindingObject = CreateBindingWindow.CreateBinding(panel, pvm.TargetPlatform, pvm.Editors.Single(), pvm.Property); }
internal static object CreateBinding(FrameworkElement owner, TargetPlatform platform, IObjectEditor editor, IPropertyInfo property) { Window ownerWindow = Window.GetWindow(owner); var window = new CreateBindingWindow(owner.Resources.MergedDictionaries, platform, editor, property) { Owner = ownerWindow }; bool?result = window.ShowDialog(); if (!result.HasValue || !result.Value) { return(null); } var vm = (CreateBindingViewModel)window.DataContext; return(vm.SelectedObjects.Single()); }