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); }
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); }
set => SetValue(IsExpandedProperty, value);
set => this.SetValue(IsExpandedProperty, value);
static DefaultExpandedExpander() { IsExpandedProperty.OverrideMetadata(typeof(DefaultExpandedExpander), new FrameworkPropertyMetadata(true)); }