示例#1
0
        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            var targetProvider = (IProvideValueTarget)serviceProvider.GetService(typeof(IProvideValueTarget));
            var element        = (FrameworkElement)targetProvider.TargetObject;
            var property       = (DependencyProperty)targetProvider.TargetProperty;

            element.SetBinding(property, new Binding("Ignored")
            {
                Source = new IgnoringViewModel(), NotifyOnSourceUpdated = true
            });
            Binding.AddSourceUpdatedHandler(element, Invoke(element));
            return(null);
        }
 private static void SourceUpdatedCommand_PropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
 {
     if (e.NewValue != null)
     {
         if (e.OldValue == null)
         {
             Binding.AddSourceUpdatedHandler(d, DependencyProperty_SourceUpdated);
         }
         else
         {
             Binding.RemoveSourceUpdatedHandler(d, DependencyProperty_SourceUpdated);
         }
     }
 }
        protected override void OnAttached()
        {
            if (PropertyName == null)
            {
                throw new ArgumentException($"The PropertyName property must be set on behavior '{GetType().FullName}'.");
            }

            dependencyProperty = AssociatedObject.GetDependencyProperties(true).FirstOrDefault(dp => dp.Name == PropertyName);
            if (dependencyProperty == null)
            {
                throw new ArgumentException($"Unable to find property '{PropertyName}' on object of type '{AssociatedObject.GetType().FullName}'.");
            }

            propertyWatcher.Attach(AssociatedObject);
            // TODO: Register/Unregister handlers when the PropertyName changes
            propertyWatcher.RegisterValueChangedHandler(dependencyProperty, OnPropertyChanged);
            Binding.AddSourceUpdatedHandler(AssociatedObject, OnSourceUpdated);
        }
        public UC_CaseStudy()
        {
            InitializeComponent();
            int columnsCount = this.gridStreamIn.Columns.Count;

            gridStreamIn.Columns[columnsCount - 5].Width = new DataGridLength(1, DataGridLengthUnitType.Star);

            columnsCount = this.gridStreamOut.Columns.Count;
            gridStreamOut.Columns[columnsCount - 5].Width = new DataGridLength(1, DataGridLengthUnitType.Star);

            columnsCount = this.gridHeatIn.Columns.Count;
            gridHeatIn.Columns[columnsCount - 4].Width = new DataGridLength(1, DataGridLengthUnitType.Star);

            columnsCount = this.gridHeatOut.Columns.Count;
            gridHeatOut.Columns[columnsCount - 4].Width = new DataGridLength(1, DataGridLengthUnitType.Star);


            Binding.AddSourceUpdatedHandler(gridStreamIn, OnDataGridSourceUpdated);
        }
 private void DataBindingModeWindow_Loaded(object sender, RoutedEventArgs e)
 {
     Binding.AddSourceUpdatedHandler(TBoxResult, new EventHandler <DataTransferEventArgs>((sender1, e1) => { /*更新数据源被触发*/ }));
     Binding.AddTargetUpdatedHandler(TBoxResult, new EventHandler <DataTransferEventArgs>((sender1, e1) => { /*更新控件数据被触发*/ }));
 }