Пример #1
0
        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());
        }