【发布时间】:2011-02-17 06:44:26
【问题描述】:
我有一个组合框和一些文本框。现在组合框绑定到某个集合。 文本框中的值取决于 Combobox 的选定值。 假设如果我有对象 B 的列表或数组,则说 arrayB。然后将文本框绑定到对象 B 的不同属性。 所以说如果comobox的选择值为1,那么文本框应该绑定到arrayB[1]。
【问题讨论】:
标签: wpf data-binding collections combobox
我有一个组合框和一些文本框。现在组合框绑定到某个集合。 文本框中的值取决于 Combobox 的选定值。 假设如果我有对象 B 的列表或数组,则说 arrayB。然后将文本框绑定到对象 B 的不同属性。 所以说如果comobox的选择值为1,那么文本框应该绑定到arrayB[1]。
【问题讨论】:
标签: wpf data-binding collections combobox
不确定这是你想要的。但是看看下面的代码,如果这有帮助,请告诉我
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>
【讨论】: