WPF中Combobox多列值,返回值问题
我在前台写了Combobox的数据模板<ComboBoxName="WO"IsEditable="True"Width="200"Height="25"Margin="0...
我在前台写了Combobox的数据模板
<ComboBox Name="WO" IsEditable="True" Width="200" Height="25" Margin="0,82,78,154">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Width="100" Text="{Binding Path=CPBM}"></TextBlock>
<TextBlock Width="100" Text="{Binding Path=CPMC}"></TextBlock>
<TextBlock Width="100" Text="{Binding Path=CPJG}"></TextBlock>
<TextBlock Width="100" Text="{Binding Path=CPGG}"></TextBlock>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
后台:
List<CP> CpLst = new List<CP>()
{
new CP (){CPBM="CP001",CPMC="产品A",CPJG="$120",CPGG="2FF90$D90"},
new CP (){CPBM="CP002",CPMC="产品B",CPJG="$ 15",CPGG="2FF40$D70"},
new CP (){CPBM="CP003",CPMC="产品C",CPJG="$ 80",CPGG="2FF20$D90"},
new CP (){CPBM="CP004",CPMC="产品D",CPJG="$124",CPGG="2FF46$D95"},
new CP (){CPBM="CP005",CPMC="产品E",CPJG="$110",CPGG="2FF20$D94"},
new CP (){CPBM="CP006",CPMC="产品F",CPJG="$100",CPGG="2FF03$D60"},
};
WO.ItemsSource = CpLst;
这样可以显示出来多列但是遇到的问题是:当你选择了值时,填入的值是一个类型,而我想要填如的是CPMC【产品名称】怎么办啊??? 展开
<ComboBox Name="WO" IsEditable="True" Width="200" Height="25" Margin="0,82,78,154">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Width="100" Text="{Binding Path=CPBM}"></TextBlock>
<TextBlock Width="100" Text="{Binding Path=CPMC}"></TextBlock>
<TextBlock Width="100" Text="{Binding Path=CPJG}"></TextBlock>
<TextBlock Width="100" Text="{Binding Path=CPGG}"></TextBlock>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
后台:
List<CP> CpLst = new List<CP>()
{
new CP (){CPBM="CP001",CPMC="产品A",CPJG="$120",CPGG="2FF90$D90"},
new CP (){CPBM="CP002",CPMC="产品B",CPJG="$ 15",CPGG="2FF40$D70"},
new CP (){CPBM="CP003",CPMC="产品C",CPJG="$ 80",CPGG="2FF20$D90"},
new CP (){CPBM="CP004",CPMC="产品D",CPJG="$124",CPGG="2FF46$D95"},
new CP (){CPBM="CP005",CPMC="产品E",CPJG="$110",CPGG="2FF20$D94"},
new CP (){CPBM="CP006",CPMC="产品F",CPJG="$100",CPGG="2FF03$D60"},
};
WO.ItemsSource = CpLst;
这样可以显示出来多列但是遇到的问题是:当你选择了值时,填入的值是一个类型,而我想要填如的是CPMC【产品名称】怎么办啊??? 展开
1个回答
展开全部
写combobox的comboboxitem的样式就可以了
<ComboBox>
<ComboBox.Resources>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding 产品编码}"></TextBlock>
<TextBlock Text="{Binding 产品名称}"></TextBlock>
<TextBlock Text="{Binding 产品价格}"></TextBlock>
<TextBlock Text="{Binding 产品等级}"></TextBlock>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ComboBox.Resources>
</ComboBox>
后台绑定combobox的itemsource就可以。
<ComboBox>
<ComboBox.Resources>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding 产品编码}"></TextBlock>
<TextBlock Text="{Binding 产品名称}"></TextBlock>
<TextBlock Text="{Binding 产品价格}"></TextBlock>
<TextBlock Text="{Binding 产品等级}"></TextBlock>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ComboBox.Resources>
</ComboBox>
后台绑定combobox的itemsource就可以。
追问
那我要选中一条后把四个字段的数据写入相应的Textbox里面怎么弄?
Combobox里面是CPBM
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询