예제 #1
0
        public void CanAttachToSelector()
        {
            SelectorItemsSourceSyncBehavior behavior = CreateBehavior();

            behavior.Attach();

            Assert.IsTrue(behavior.IsAttached);
        }
예제 #2
0
        public void ItemsSourceSetThrows()
        {
            SelectorItemsSourceSyncBehavior behavior = CreateBehavior();

            (behavior.HostControl as Selector).ItemsSource = new[] { new Button() };

            behavior.Attach();
        }
예제 #3
0
        private SelectorItemsSourceSyncBehavior CreateBehavior()
        {
            Region   region   = new Region();
            Selector selector = new TabControl();

            var behavior = new SelectorItemsSourceSyncBehavior();

            behavior.HostControl = selector;
            behavior.Region      = region;
            return(behavior);
        }
예제 #4
0
        public void ItemsSourceSetThrows()
        {
            var ex = Assert.Throws <InvalidOperationException>(() =>
            {
                SelectorItemsSourceSyncBehavior behavior = CreateBehavior();

                (behavior.HostControl as Selector).ItemsSource = new[] { new Button() };

                behavior.Attach();
            });
        }
예제 #5
0
        public void AttachSetsItemsSourceOfSelector()
        {
            SelectorItemsSourceSyncBehavior behavior = CreateBehavior();

            var v1 = new Button();
            var v2 = new Button();

            behavior.Region.Add(v1);
            behavior.Region.Add(v2);

            behavior.Attach();

            Assert.AreEqual(2, (behavior.HostControl as Selector).Items.Count);
        }
        private SelectorItemsSourceSyncBehavior CreateBehavior()
        {
            Region region = new Region();

#if SILVERLIGHT
            Selector selector = new ComboBox();
#else
            Selector selector = new TabControl();
#endif
            var behavior = new SelectorItemsSourceSyncBehavior();
            behavior.HostControl = selector;
            behavior.Region      = region;
            return(behavior);
        }
예제 #7
0
        public void ActiveViewChangedShouldChangeSelectedItem()
        {
            SelectorItemsSourceSyncBehavior behavior = CreateBehavior();

            var v1 = new Button();
            var v2 = new Button();

            behavior.Region.Add(v1);
            behavior.Region.Add(v2);

            behavior.Attach();

            behavior.Region.Activate(v1);
            Assert.AreEqual(v1, (behavior.HostControl as Selector).SelectedItem);

            behavior.Region.Activate(v2);
            Assert.AreEqual(v2, (behavior.HostControl as Selector).SelectedItem);
        }
예제 #8
0
        public void IfViewsHaveSortHintThenViewsAreProperlySorted()
        {
            SelectorItemsSourceSyncBehavior behavior = CreateBehavior();

            var v1 = new MockSortableView1();
            var v2 = new MockSortableView2();
            var v3 = new MockSortableView3();

            behavior.Attach();

            behavior.Region.Add(v3);
            behavior.Region.Add(v2);
            behavior.Region.Add(v1);

            Assert.AreEqual(3, (behavior.HostControl as Selector).Items.Count);

            Assert.AreSame(v1, (behavior.HostControl as Selector).Items[0]);
            Assert.AreSame(v2, (behavior.HostControl as Selector).Items[1]);
            Assert.AreSame(v3, (behavior.HostControl as Selector).Items[2]);
        }
예제 #9
0
        public void SelectionChangedShouldChangeActiveViews()
        {
            SelectorItemsSourceSyncBehavior behavior = CreateBehavior();

            var v1 = new Button();
            var v2 = new Button();

            behavior.Region.Add(v1);
            behavior.Region.Add(v2);

            behavior.Attach();

            (behavior.HostControl as Selector).SelectedItem = v1;
            var activeViews = behavior.Region.ActiveViews;

            Assert.AreEqual(1, activeViews.Count());
            Assert.AreEqual(v1, activeViews.First());

            (behavior.HostControl as Selector).SelectedItem = v2;

            Assert.AreEqual(1, activeViews.Count());
            Assert.AreEqual(v2, activeViews.First());
        }