Ejemplo n.º 1
0
        private void OnNodeExpanding(TreeViewNode sender, object args)
        {
            var treeViewExpandingEventArgs = new TreeViewExpandingEventArgs(sender);

            if (ListControl != null)
            {
                if (ContainerFromNode(sender) is TreeViewItem expandingTvi)
                {
                    if (!expandingTvi.IsExpanded)
                    {
                        expandingTvi.IsExpanded = true;
                    }

                    //Update TemplateSettings properties
                    var templateSettings = expandingTvi.TreeViewItemTemplateSettings;
                    templateSettings.ExpandedGlyphVisibility  = Visibility.Visible;
                    templateSettings.CollapsedGlyphVisibility = Visibility.Collapsed;
                }
                Expanding?.Invoke(this, treeViewExpandingEventArgs);
            }
        }
Ejemplo n.º 2
0
 protected void RaiseExpandingEvent(Expander container)
 {
     Expanding?.Invoke(this, new ExpanderExpandingEventArgs());             // Uno Doc: We won't use null for args like WinUI
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Common native callback for Task Dialogs.
        /// Will route events to the user event handler.
        /// </summary>
        /// <param name="refData">TODO: Currently unused, would need complex marshaling of data.</param>
        internal IntPtr CommonCallbackProc(IntPtr hWnd, uint uEvent, UIntPtr wParam, IntPtr lParam, IntPtr refData)
        {
            _hwnd = hWnd;

            //Handle event
            switch ((NativeMethods.TaskDialogNotification)uEvent)
            {
            case NativeMethods.TaskDialogNotification.TDN_CREATED:
                //Dispatch buffered messages
                DispatchMessageQueue();

                Created?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_NAVIGATED:
                //Dispatch buffered messages (copied in from the new task dialog we are navigating to)
                DispatchMessageQueue();

                Navigating?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_BUTTON_CLICKED:
                var evtButtonClick = ButtonClick;
                if (evtButtonClick != null)
                {
                    ClickEventArgs args = new ClickEventArgs((int)wParam);
                    evtButtonClick(this, args);

                    //Return value given by user to prevent closing (false will close)
                    return((IntPtr)((args.PreventClosing) ? 1 : 0));
                }
                break;

            case NativeMethods.TaskDialogNotification.TDN_HYPERLINK_CLICKED:
                HyperlinkClick?.Invoke(this, new HyperlinkEventArgs(Marshal.PtrToStringUni(lParam)));
                break;

            case NativeMethods.TaskDialogNotification.TDN_TIMER:
                var evtTick = Tick;
                if (evtTick != null)
                {
                    var args = new TimerEventArgs((long)wParam);
                    evtTick(this, args);

                    //Return value given by user to reset timer ticks
                    return((IntPtr)((args.ResetCount) ? 1 : 0));
                }
                break;

            case NativeMethods.TaskDialogNotification.TDN_DESTROYED:
                //Set dialog as not "showing" and drop handle to window
                _hwnd = IntPtr.Zero;

                Destroyed?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_RADIO_BUTTON_CLICKED:
                RadioButtonClick?.Invoke(this, new ClickEventArgs((int)wParam));
                break;

            case NativeMethods.TaskDialogNotification.TDN_DIALOG_CONSTRUCTED:
                Constructed?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_VERIFICATION_CLICKED:
                VerificationClick?.Invoke(this, new CheckEventArgs((uint)wParam == 1));
                break;

            case NativeMethods.TaskDialogNotification.TDN_HELP:
                Help?.Invoke(this, EventArgs.Empty);
                break;

            case NativeMethods.TaskDialogNotification.TDN_EXPANDO_BUTTON_CLICKED:
                Expanding?.Invoke(this, new ExpandEventArgs((uint)wParam != 0));
                break;
            }

            return(IntPtr.Zero);
        }