Beispiel #1
0
        void Attach()
        {
            _contentTemplateProperty.Attach(OnContentTemplateChanged);
            _contentProperty.Attach(OnContentChanged);

            TemplateControlProperty.Attach(OnTemplateControlChanged);
            IsExpandedProperty.Attach(OnExpandedChanged);
        }
 public static WindowExpander()
 {
     DefaultStyleKeyProperty.OverrideMetadata(typeof(WindowExpander), new FrameworkPropertyMetadata(typeof(WindowExpander)));
     IsExpandedProperty.OverrideMetadata(typeof(WindowExpander), new FrameworkPropertyMetadata
     {
         PropertyChangedCallback = (obj, e) =>
         {
             var expander = (WindowExpander)obj;
             if (expander.Window != null)
             {
                 expander.SwapContent(expander.Window);
                 expander.AnimateWindow();
             }
         }
     });
 }
 public static WindowExpander()
 {
     DefaultStyleKeyProperty.OverrideMetadata(typeof(WindowExpander), new PropertyMetadata(typeof(WindowExpander)));
     ContentProperty.OverrideMetadata(typeof(WindowExpander), new FrameworkPropertyMetadata
     {
         PropertyChangedCallback = (obj, e) =>
         {
             var expander  = (WindowExpander)obj;
             var oldWindow = (Window)e.OldValue;
             var newWindow = (Window)e.NewValue;
             if (oldWindow != null)
             {
                 if (!expander.IsExpanded)
                 {
                     expander.SwapContent(oldWindow);
                 }
                 oldWindow.StateChanged -= OnStateChanged;
             }
             expander.ConstructLiveThumbnail();
             if (newWindow != null)
             {
                 if (!expander.IsExpanded)
                 {
                     expander.SwapContent(newWindow);
                 }
                 newWindow.StateChanged -= OnStateChanged;
             }
         }
     });
     IsExpandedProperty.OverrideMetadata(typeof(WindowExpander), new FrameworkPropertyMetadata
     {
         PropertyChangedCallback = (obj, e) =>
         {
             var expander = (WindowExpander)obj;
             var window   = (Window)expander.Content;
             if (window != null)
             {
                 expander.SwapContent(window);
                 expander.AnimateWindow(window);
             }
         }
     });
 }
        /// <summary>
        /// Get the dependency property tests.
        /// </summary>
        /// <returns>The dependency property tests.</returns>
        public override IEnumerable <DependencyPropertyTestMethod> GetDependencyPropertyTests()
        {
            IList <DependencyPropertyTestMethod> tests = TagInherited(base.GetDependencyPropertyTests());

            tests.Add(IsEnabledProperty.ChangesVisualStateTest(false, true, "Normal"));
            tests.Add(IsEnabledProperty.ChangesVisualStateTest(true, false, "Disabled"));
            tests.Add(IsEnabledProperty.DoesNotChangeVisualStateTest(true, true));
            tests.Add(IsEnabledProperty.DoesNotChangeVisualStateTest(false, false));

            // IsExpandedProperty tests
            tests.Add(IsExpandedProperty.CheckDefaultValueTest);
            tests.Add(IsExpandedProperty.ChangeClrSetterTest);
            tests.Add(IsExpandedProperty.ChangeSetValueTest);
            tests.Add(IsExpandedProperty.ClearValueResetsDefaultTest);
            tests.Add(IsExpandedProperty.CanBeStyledTest);
            DependencyPropertyTestMethod focusTest = IsExpandedProperty.TemplateBindTest;

            focusTest.Tags.Add(new TagAttribute(Tags.RequiresFocus));
            tests.Add(focusTest);
            tests.Add(IsExpandedProperty.ChangesVisualStateTest(false, true, "Expanded"));
            tests.Add(IsExpandedProperty.ChangesVisualStateTest(true, false, "Collapsed"));
            tests.Add(IsExpandedProperty.SetXamlAttributeTest);
            tests.Add(IsExpandedProperty.SetXamlElementTest.Bug("TODO: XAML Parser?"));

            // ExpandDirectionProperty tests
            tests.Add(ExpandDirectionProperty.CheckDefaultValueTest);
            tests.Add(ExpandDirectionProperty.ChangeClrSetterTest);
            tests.Add(ExpandDirectionProperty.ChangeSetValueTest);
            tests.Add(ExpandDirectionProperty.ClearValueResetsDefaultTest);
            tests.Add(ExpandDirectionProperty.InvalidValueFailsTest);
            tests.Add(ExpandDirectionProperty.InvalidValueIsIgnoredTest);
            tests.Add(ExpandDirectionProperty.CanBeStyledTest);
            tests.Add(ExpandDirectionProperty.TemplateBindTest);
            tests.Add(ExpandDirectionProperty.ChangesVisualStateTest(ExpandDirection.Down, ExpandDirection.Up, "ExpandUp"));
            tests.Add(ExpandDirectionProperty.ChangesVisualStateTest(ExpandDirection.Up, ExpandDirection.Left, "ExpandLeft"));
            tests.Add(ExpandDirectionProperty.ChangesVisualStateTest(ExpandDirection.Left, ExpandDirection.Right, "ExpandRight"));
            tests.Add(ExpandDirectionProperty.ChangesVisualStateTest(ExpandDirection.Right, ExpandDirection.Down, "ExpandDown"));
            tests.Add(ExpandDirectionProperty.SetXamlAttributeTest);
            tests.Add(ExpandDirectionProperty.SetXamlElementTest);

            return(tests);
        }
Beispiel #5
0
        static TreeViewItem()
        {
            IsExpandedProperty.Override(typeof(TreeViewItem),
                                        coerce: (d, baseValue, original) =>
            {
                var owner = (TreeViewItem)d;
                if (owner.LockedExpandState.HasValue)
                {
                    return(owner.LockedExpandState);
                }
                if (owner._freezeExpandChange)
                {
                    return(owner.IsExpanded);
                }
                return(original?.Invoke(d, baseValue) ?? baseValue);
            });

            DefaultStyleKeyProperty.OverrideMetadata(typeof(TreeViewItem), new FrameworkPropertyMetadata(typeof(TreeViewItem)));
            ResourceHelper.SetDefaultStyle(typeof(TreeViewItem), Resource.ControlStyle);
        }
Beispiel #6
0
 set => SetValue(IsExpandedProperty, value);
Beispiel #7
0
 set => this.SetValue(IsExpandedProperty, value);
Beispiel #8
0
 static DefaultExpandedExpander()
 {
     IsExpandedProperty.OverrideMetadata(typeof(DefaultExpandedExpander), new FrameworkPropertyMetadata(true));
 }