示例#1
0
        /// <summary>
        /// Callback for when the associated UcNodeViewer's IsSelected property changes.
        /// </summary>
        /// <param name="args">The change arguments.</param>
        private void OnNodeViewerIsSelectedChanged(PropertyChangedCallbackArgs args)
        {
            bool newValue = (bool)args.NewValue;

            if (!newValue)
            {
                // Deselect this IO handle if node is deselected.
                this.IsSelected = false;
            }
        }
示例#2
0
 private void OnDefferingPropertyChangeOcurred(PropertyChangedCallbackArgs args)
 {
     if (this.deferringPropertyChangeCallback == null || this.deferringPropertyChangeCallback(args))
     {
         args.Handle.Dispose();
         this.deferringPropertyChangeHandle   = null;
         this.deferringPropertyChangeCallback = null;
         this.InitializeAfterDeferrence();
     }
 }
示例#3
0
        /// <summary>
        /// Callback for when the assiciated UcTreeDesigner's ConnectingIOHandle property changes.
        /// </summary>
        /// <param name="args">The change arguments.</param>
        private void OnTreeDesignerConnectingIOHandleChanged(PropertyChangedCallbackArgs args)
        {
            UcIOHandle newValue = args.NewValue as UcIOHandle;

            // If user is trying to connect another IO handle, provide information about
            // whether this handle is compatible with its data by setting the IsConnectionCompatible
            // property.
            if (newValue != this)
            {
                if (newValue != null && this.IsInput != newValue.IsInput && this.NodeViewer != newValue.NodeViewer)
                {
                    this.IsConnectionCompatible = this.DataType == null || newValue.DataType == null ||
                                                  (!this.IsInput && this.DataType.CanConvertTo(newValue.DataType)) || (this.IsInput && newValue.DataType.CanConvertTo(this.DataType));
                }
                else
                {
                    this.IsConnectionCompatible = null;
                }
            }
        }