示例#1
0
        /// <summary>
        /// 根据DirectoryInfo数组更新控件listbox
        /// </summary>
        /// <param name="lb"></param>
        /// <param name="dir"></param>
        public static void UpdateByDirectoryInfos(ListBox lb, DirectoryInfo dir)
        {
            lb.BeginInit();
            var it = new MyListBoxItem(dir.Name, MyIcons.folder);

            it.MyMessage = "目录路径:" + dir.FullName;
            lb.Items.Add(it);
            lb.EndInit();
        }
示例#2
0
 /// <summary>
 /// 根据FileInfo数组更新控件listbox
 /// </summary>
 /// <param name="lb"></param>
 /// <param name="files"></param>
 public static void UpdateByFileInfos(ListBox lb, FileInfo[] files)
 {
     lb.BeginInit();
     foreach (var i in files)
     {
         var it = new MyListBoxItem(i.Name, MyIcons.file);
         it.MyMessage = "所在路径:" + i.DirectoryName;
         lb.Items.Add(it);
     }
     lb.EndInit();
 }
        public void PopulateListBox(ListBox listBox)
        {
            listBox.BeginInit();
            listBox.Items.Clear();
            foreach (var item in MetricQuotas)
            {
                listBox.Items.Add(item.Key);
            }

            listBox.EndInit();
        }
示例#4
0
        private static void FillListBoxWithAutogeneratedItems(string prefixText, ListBox listBox)
        {
            listBox.BeginInit();

            listBox.Items.Clear();

            for (int i = 0; i < 300; i++)
            {
                listBox.Items.Add(prefixText + i);
            }
            listBox.EndInit();
        }
示例#5
0
        /// <summary>
        /// 由CurrentPath变量刷新listbox
        /// </summary>
        /// <param name="lb"></param>
        /// <param name="CurrentPath"></param>
        public static void FlushLBByCurrentPath(ListBox lb, string CurrentPath)
        {
            lb.BeginInit();
            var list = CreatLBItemFromPath(CurrentPath);

            lb.Items.Clear();
            foreach (var i in list)
            {
                lb.Items.Add(i);
            }
            lb.EndInit();
        }
示例#6
0
        public void Setting_SelectedItem_Before_Initialize_Should_Retain()
        {
            var listBox = new ListBox
            {
                SelectionMode = SelectionMode.Single,
                Items         = new[] { "foo", "bar", "baz" },
                SelectedItem  = "bar"
            };

            listBox.BeginInit();

            listBox.EndInit();

            Assert.Equal(1, listBox.SelectedIndex);
            Assert.Equal("bar", listBox.SelectedItem);
        }
示例#7
0
        public void SelectedIndex_Should_Be_Minus_1_After_Initialize()
        {
            var items = new[]
            {
                new Item(),
                new Item(),
            };

            var target = new ListBox();

            target.BeginInit();
            target.Items    = items;
            target.Template = Template();
            target.EndInit();

            Assert.Equal(-1, target.SelectedIndex);
        }
示例#8
0
        public void Setting_SelectedIndex_During_Initialize_Should_Take_Priority_Over_Previous_Value()
        {
            var listBox = new ListBox
            {
                SelectionMode = SelectionMode.Single,
                Items         = new[] { "foo", "bar", "baz" },
                SelectedIndex = 2
            };

            listBox.BeginInit();

            listBox.SelectedIndex = 1;

            listBox.EndInit();

            Assert.Equal(1, listBox.SelectedIndex);
            Assert.Equal("bar", listBox.SelectedItem);
        }
示例#9
0
        public void SelectedIndex_Should_Be_0_After_Initialize_With_AlwaysSelected()
        {
            var items = new[]
            {
                new Item(),
                new Item(),
            };

            var target = new ListBox();

            target.BeginInit();
            target.SelectionMode = SelectionMode.Single | SelectionMode.AlwaysSelected;
            target.Items         = items;
            target.Template      = Template();
            target.EndInit();

            Assert.Equal(0, target.SelectedIndex);
        }
示例#10
0
        public void Can_Set_Both_SelectedItem_And_SelectedItems_During_Initialization()
        {
            // Issue #2969.
            var target        = new ListBox();
            var selectedItems = new List <object>();

            target.BeginInit();
            target.Template      = Template();
            target.Items         = new[] { "Foo", "Bar", "Baz" };
            target.SelectedItems = selectedItems;
            target.SelectedItem  = "Bar";
            target.EndInit();

            Assert.Equal("Bar", target.SelectedItem);
            Assert.Equal(1, target.SelectedIndex);
            Assert.Same(selectedItems, target.SelectedItems);
            Assert.Equal(new[] { "Bar" }, selectedItems);
        }
示例#11
0
        public void Binding_With_DelayedBinding_And_Initialization_Where_DataContext_Is_Root_Works()
        {
            // Test for #1932.
            var root = new RootWithItems();

            root.BeginInit();
            root.DataContext = root;

            var target = new ListBox();

            target.BeginInit();
            root.Child = target;

            DelayedBinding.Add(target, ItemsControl.ItemsProperty, new Binding(nameof(RootWithItems.Items)));
            DelayedBinding.Add(target, ListBox.SelectedItemProperty, new Binding(nameof(RootWithItems.Selected)));
            target.EndInit();
            root.EndInit();

            Assert.Equal("b", target.SelectedItem);
        }
示例#12
0
        public void Setting_SelectedItems_Before_Initialize_Should_Retain()
        {
            var listBox = new ListBox
            {
                SelectionMode = SelectionMode.Multiple,
                Items         = new[] { "foo", "bar", "baz" },
            };

            var selected = new[] { "foo", "bar" };

            foreach (var v in selected)
            {
                listBox.SelectedItems.Add(v);
            }

            listBox.BeginInit();

            listBox.EndInit();

            Assert.Equal(selected, listBox.SelectedItems);
        }
示例#13
0
        public void Setting_SelectedIndex_During_Initialize_Should_Select_Item_When_AlwaysSelected_Is_Used()
        {
            var listBox = new ListBox
            {
                SelectionMode = SelectionMode.Single | SelectionMode.AlwaysSelected
            };

            listBox.BeginInit();

            listBox.SelectedIndex = 1;
            var items = new AvaloniaList <string>();

            listBox.Items = items;
            items.Add("A");
            items.Add("B");
            items.Add("C");

            listBox.EndInit();

            Assert.Equal("B", listBox.SelectedItem);
        }
示例#14
0
        public void Setting_SelectedItems_During_Initialize_Should_Take_Priority_Over_Previous_Value()
        {
            var listBox = new ListBox
            {
                SelectionMode = SelectionMode.Multiple,
                Items         = new[] { "foo", "bar", "baz" },
            };

            var selected = new[] { "foo", "bar" };

            foreach (var v in new[] { "bar", "baz" })
            {
                listBox.SelectedItems.Add(v);
            }

            listBox.BeginInit();

            listBox.SelectedItems = new AvaloniaList <object>(selected);

            listBox.EndInit();

            Assert.Equal(selected, listBox.SelectedItems);
        }