【问题标题】:DataBinding Combobox value changeDataBinding Combobox 值更改
【发布时间】:2011-02-17 06:44:26
【问题描述】:

我有一个组合框和一些文本框。现在组合框绑定到某个集合。 文本框中的值取决于 Combobox 的选定值。 假设如果我有对象 B 的列表或数组,则说 arrayB。然后将文本框绑定到对象 B 的不同属性。 所以说如果comobox的选择值为1,那么文本框应该绑定到a​​rrayB[1]。

【问题讨论】:

    标签: wpf data-binding collections combobox


    【解决方案1】:

    不确定这是你想要的。但是看看下面的代码,如果这有帮助,请告诉我

        public class Animal
    {
        private string name;
    
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
    
        private Category category;
    
        public Category Category
        {
            get { return category; }
            set { category = value; }
        }
    
        public Animal(string name, Category category)
        {
            this.name = name;
            this.category = category;
        }
    }
    
    public enum Category
    {
        Amphibians,
        Bears,
        BigCats,
        Canines,
        Primates,
        Spiders,
    }
    
    public class Animals
    {
        private List<Animal> animalList;
    
        public IEnumerable<Animal> AnimalList
        {
            get { return animalList; }
        }
    
        public Animals()
        {
            animalList = new List<Animal>();
            animalList.Add(new Animal("California Newt", Category.Amphibians));
            animalList.Add(new Animal("Giant Panda", Category.Bears));
            animalList.Add(new Animal("Coyote", Category.Canines));
            animalList.Add(new Animal("Golden Silk Spider", Category.Spiders));
            animalList.Add(new Animal("Mandrill", Category.Primates));
            animalList.Add(new Animal("Black Bear", Category.Bears));
            animalList.Add(new Animal("Jaguar", Category.BigCats));
            animalList.Add(new Animal("Bornean Gibbon", Category.Primates));
            animalList.Add(new Animal("African Wildcat", Category.BigCats));
            animalList.Add(new Animal("Arctic Fox", Category.Canines));
            animalList.Add(new Animal("Tomato Frog", Category.Amphibians));
            animalList.Add(new Animal("Grizzly Bear", Category.Bears));
            animalList.Add(new Animal("Dingo", Category.Canines));
            animalList.Add(new Animal("Gorilla", Category.Primates));
            animalList.Add(new Animal("Green Tree Frog", Category.Amphibians));
            animalList.Add(new Animal("Bald Uakari", Category.Primates));
            animalList.Add(new Animal("Polar Bear", Category.Bears));
            animalList.Add(new Animal("Black Widow Spider", Category.Spiders));
            animalList.Add(new Animal("Bat-Eared Fox", Category.Canines));
            animalList.Add(new Animal("Cheetah", Category.BigCats));
            animalList.Add(new Animal("Cheetah", Category.Spiders));
    
        }
    }
    

    Xaml

     <Window.Resources>
            <local:Animals x:Key="animals"/>
        </Window.Resources>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <ComboBox Name="cmb" VerticalContentAlignment="Center" Width="100" Height="30" ItemsSource="{Binding Path=AnimalList, Source={StaticResource animals}}" DisplayMemberPath="Name"/>
            <TextBox Width="100" Height="30" Grid.Column="1" Text="{Binding ElementName=cmb,Path=SelectedItem.Category}"/>
        </Grid>
    

    【讨论】:

      猜你喜欢
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 2011-01-11
      • 2015-11-28
      相关资源
      最近更新 更多