public void Named_OfType_Template_Child_Of_Control_With_Two_Classes_Wrong_Type() { var template = new FuncControlTemplate(parent => { return(new Border { Name = "border", }); }); var control = new Button { Template = template, }; control.ApplyTemplate(); var selector = default(Selector) .OfType <Button>() .Class("foo") .Class("bar") .Template() .OfType <TextBlock>() .Name("baz"); var border = (Border)((IVisual)control).VisualChildren.Single(); var values = new List <bool>(); var match = selector.Match(border); Assert.Equal(SelectorMatchResult.NeverThisType, match.Result); }
public TestTemplatedRoot() { Template = new FuncControlTemplate <TestTemplatedRoot>(x => new ContentPresenter { Name = "PART_ContentPresenter", }); }
public TestTemplatedRoot() { Template = new FuncControlTemplate <TestTemplatedRoot>((x, scope) => new ContentPresenter { Name = "PART_ContentPresenter", }.RegisterInNameScope(scope)); }
private static ControlTheme CreateTheme() { var template = new FuncControlTemplate <ThemedControl>((o, n) => new Border()); return(new ControlTheme { TargetType = typeof(ThemedControl), Setters = { new Setter(TemplatedControl.TemplateProperty, template), new Setter(TemplatedControl.CornerRadiusProperty, new CornerRadius(5)), }, Children = { new Style(x => x.Nesting().Template().OfType <Border>()) { Setters ={ new Setter(Border.BackgroundProperty, Brushes.Red) } }, new Style(x => x.Nesting().Class("foo").Template().OfType <Border>()) { Setters ={ new Setter(Border.BackgroundProperty, Brushes.Green) } }, } }); }
public TestTemplatedRoot() { LayoutManager = new LayoutManager(this); Template = new FuncControlTemplate <TestTemplatedRoot>((x, scope) => new ContentPresenter { Name = "PART_ContentPresenter", }.RegisterInNameScope(scope)); }
public TestRoot() { Template = new FuncControlTemplate<TestRoot>(x => new ContentPresenter { Name = "PART_ContentPresenter", [!ContentPresenter.ContentProperty] = x[!ContentControl.ContentProperty], }); }
public TestTemplatedControl() { Template = new FuncControlTemplate <TestTemplatedControl>(parent => new Canvas { [~IsVisibleProperty] = parent[~IsCanvasVisibleProperty] }); }
public TemplatedControlWithPopup() { Template = new FuncControlTemplate <TemplatedControlWithPopup>(parent => new Popup { [!Popup.ChildProperty] = parent[!TemplatedControlWithPopup.PopupContentProperty], }); }
public TestRoot() { Template = new FuncControlTemplate <TestRoot>(x => new ContentPresenter { Name = "PART_ContentPresenter", [!ContentPresenter.ContentProperty] = x[!ContentControl.ContentProperty], }); }
public TestContainer() { Template = new FuncControlTemplate <TestContainer>((parent, scope) => new ContentPresenter { Name = "PART_ContentPresenter", [~ContentPresenter.ContentProperty] = parent[~ContentControl.ContentProperty], [~ContentPresenter.ContentTemplateProperty] = parent[~ContentControl.ContentTemplateProperty], }.RegisterInNameScope(scope)); }
public TestContainer() { Template = new FuncControlTemplate <TestContainer>(parent => new ContentPresenter { Name = "PART_ContentPresenter", [~ContentPresenter.ContentProperty] = parent[~ContentControl.ContentProperty], [~ContentPresenter.ContentTemplateProperty] = parent[~ContentControl.ContentTemplateProperty], }); }
public TemplatedControlWithPopup() { Template = new FuncControlTemplate <TemplatedControlWithPopup>((parent, _) => new Popup { [!Popup.ChildProperty] = parent[!TemplatedControlWithPopup.PopupContentProperty], PlacementTarget = parent }); }
public void TabItem_Templates_Should_Be_Set_Before_TabItem_ApplyTemplate() { var collection = new[] { new TabItem { Name = "first", Content = "foo", }, new TabItem { Name = "second", Content = "bar", }, new TabItem { Name = "3rd", Content = "barf", }, }; var template = new FuncControlTemplate <TabItem>(x => new Decorator()); using (PerspexLocator.EnterScope()) { PerspexLocator.CurrentMutable.Bind <IStyler>().ToConstant(new Styler()); var root = new TestRoot { Styles = new Styles { new Style(x => x.OfType <TabItem>()) { Setters = new[] { new Setter(TemplatedControl.TemplateProperty, template) } } }, Child = new TabControl { Template = new FuncControlTemplate <TabControl>(CreateTabControlTemplate), Items = collection, } }; } Assert.Same(collection[0].Template, template); Assert.Same(collection[1].Template, template); Assert.Same(collection[2].Template, template); }
public void TabItem_Templates_Should_Be_Set_Before_TabItem_ApplyTemplate() { var collection = new[] { new TabItem { Name = "first", Content = "foo", }, new TabItem { Name = "second", Content = "bar", }, new TabItem { Name = "3rd", Content = "barf", }, }; var template = new FuncControlTemplate <TabItem>((x, __) => new Decorator()); using (UnitTestApplication.Start(TestServices.RealStyler)) { var root = new TestRoot { Styles = { new Style(x => x.OfType <TabItem>()) { Setters = new[] { new Setter(TemplatedControl.TemplateProperty, template) } } }, Child = new TabControl { Template = TabControlTemplate(), Items = collection, } }; } Assert.Same(collection[0].Template, template); Assert.Same(collection[1].Template, template); Assert.Same(collection[2].Template, template); }
public void Template_Doesnt_Get_Executed_On_Set() { bool executed = false; var template = new FuncControlTemplate(_ => { executed = true; return new Control(); }); var target = new TemplatedControl { Template = template, }; Assert.False(executed); }
public void Template_Doesnt_Get_Executed_On_Set() { bool executed = false; var template = new FuncControlTemplate(_ => { executed = true; return(new Control()); }); var target = new TemplatedControl { Template = template, }; Assert.False(executed); }
public void TemplatedParent_Is_Set_On_Generated_Template() { Control templateResult = new Control(); var template = new FuncControlTemplate(_ => { return(templateResult); }); var target = new TemplatedControl { Template = template, }; target.Measure(new Size(100, 100)); Assert.Equal(target, templateResult.TemplatedParent); }
public void Template_Gets_Executed_On_Measure() { bool executed = false; var template = new FuncControlTemplate(_ => { executed = true; return(new Control()); }); var target = new TemplatedControl { Template = template, }; target.Measure(new Size(100, 100)); Assert.True(executed); }
public void Template_Result_Becomes_Visual_Child() { Control templateResult = new Control(); var template = new FuncControlTemplate(_ => { return templateResult; }); var target = new TemplatedControl { Template = template, }; target.Measure(new Size(100, 100)); var children = target.GetVisualChildren().ToList(); Assert.Equal(new[] { templateResult }, children); }
public void Template_Gets_Executed_On_Measure() { bool executed = false; var template = new FuncControlTemplate(_ => { executed = true; return new Control(); }); var target = new TemplatedControl { Template = template, }; target.Measure(new Size(100, 100)); Assert.True(executed); }
public void Template_Result_Becomes_Visual_Child() { Control templateResult = new Control(); var template = new FuncControlTemplate(_ => { return(templateResult); }); var target = new TemplatedControl { Template = template, }; target.Measure(new Size(100, 100)); var children = target.GetVisualChildren().ToList(); Assert.Equal(new[] { templateResult }, children); }
public void Named_Template_Child_Of_Control_With_Two_Classes() { var template = new FuncControlTemplate(parent => { return(new Border { Name = "border", }); }); var control = new Button { Template = template, }; control.ApplyTemplate(); var selector = default(Selector) .OfType <Button>() .Class("foo") .Class("bar") .Template() .Name("border"); var border = (Border)((IVisual)control).VisualChildren.Single(); var values = new List <bool>(); var match = selector.Match(border); Assert.Equal(SelectorMatchResult.Sometimes, match.Result); match.Activator.Subscribe(x => values.Add(x)); Assert.Equal(new[] { false }, values); control.Classes.AddRange(new[] { "foo", "bar" }); Assert.Equal(new[] { false, true }, values); control.Classes.Remove("foo"); Assert.Equal(new[] { false, true, false }, values); }
public void Template_Child_Of_Control_With_Two_Classes() { var template = new FuncControlTemplate(parent => { return new Border { Name = "border", }; }); var control = new Button { Template = template, }; control.ApplyTemplate(); var selector = new Selector() .OfType<Button>() .Class("foo") .Class("bar") .Template() .Name("border"); var border = (Border)((IVisual)control).VisualChildren.Single(); var values = new List<bool>(); var activator = selector.Match(border).ObservableResult; activator.Subscribe(x => values.Add(x)); Assert.Equal(new[] { false }, values); control.Classes.AddRange(new[] { "foo", "bar" }); Assert.Equal(new[] { false, true }, values); control.Classes.Remove("foo"); Assert.Equal(new[] { false, true, false }, values); }
public void Template_Child_Of_Control_With_Two_Classes() { var template = new FuncControlTemplate(parent => { return(new Border { Name = "border", }); }); var control = new Button { Template = template, }; control.ApplyTemplate(); var selector = new Selector() .OfType <Button>() .Class("foo") .Class("bar") .Template() .Name("border"); var border = (Border)((IVisual)control).VisualChildren.Single(); var values = new List <bool>(); var activator = selector.Match(border).ObservableResult; activator.Subscribe(x => values.Add(x)); Assert.Equal(new[] { false }, values); control.Classes.Add("foo", "bar"); Assert.Equal(new[] { false, true }, values); control.Classes.Remove("foo"); Assert.Equal(new[] { false, true, false }, values); }
public void TabItem_Templates_Should_Be_Set_Before_TabItem_ApplyTemplate() { var collection = new[] { new TabItem { Name = "first", Content = "foo", }, new TabItem { Name = "second", Content = "bar", }, new TabItem { Name = "3rd", Content = "barf", }, }; var template = new FuncControlTemplate<TabItem>(x => new Decorator()); using (UnitTestApplication.Start(TestServices.RealStyler)) { var root = new TestRoot { Styles = new Styles { new Style(x => x.OfType<TabItem>()) { Setters = new[] { new Setter(TemplatedControl.TemplateProperty, template) } } }, Child = new TabControl { Template = new FuncControlTemplate<TabControl>(CreateTabControlTemplate), Items = collection, } }; } Assert.Same(collection[0].Template, template); Assert.Same(collection[1].Template, template); Assert.Same(collection[2].Template, template); }
public void TabItem_Templates_Should_Be_Set_Before_TabItem_ApplyTemplate() { var collection = new[] { new TabItem { Name = "first", Content = "foo", }, new TabItem { Name = "second", Content = "bar", }, new TabItem { Name = "3rd", Content = "barf", }, }; var template = new FuncControlTemplate<TabItem>(x => new Decorator()); using (PerspexLocator.EnterScope()) { PerspexLocator.CurrentMutable.Bind<IStyler>().ToConstant(new Styler()); var root = new TestRoot { Styles = new Styles { new Style(x => x.OfType<TabItem>()) { Setters = new[] { new Setter(TemplatedControl.TemplateProperty, template) } } }, Child = new TabControl { Template = new FuncControlTemplate<TabControl>(CreateTabControlTemplate), Items = collection, } }; } Assert.Same(collection[0].Template, template); Assert.Same(collection[1].Template, template); Assert.Same(collection[2].Template, template); }
public TestTemplatedRoot() { Template = new FuncControlTemplate<TestTemplatedRoot>(x => new ContentPresenter()); }
public TestTemplatedControl() { Template = new FuncControlTemplate<TestTemplatedControl>(parent => new Canvas { [~IsVisibleProperty] = parent[~IsCanvasVisibleProperty] }); }
public TestTemplatedRoot() { Template = new FuncControlTemplate <TestTemplatedRoot>(x => new ContentPresenter()); }
public void TemplatedParent_Is_Set_On_Generated_Template() { Control templateResult = new Control(); var template = new FuncControlTemplate(_ => { return templateResult; }); var target = new TemplatedControl { Template = template, }; target.Measure(new Size(100, 100)); Assert.Equal(target, templateResult.TemplatedParent); }