Tvd*_*Tvd 1 c# wpf combobox wpf-controls c#-4.0
我有一个非绑定的Combobox,我想在运行时设置它的值.我尝试了很多,但无法实现.这是代码:
<ComboBox Background="#FFB7B39D" Grid.Row="1" Height="23"
HorizontalAlignment="Right" Margin="0,26,136,0"
Name="cboWellDiameter" VerticalAlignment="Top" Width="120">
<ComboBoxItem Content="meter" IsSelected="True" />
<ComboBoxItem Content="centimeter" />
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
在代码中,我正在尝试:
//VALUE of sp.wellborediameterField_unit is centimeter
// Gives -1
int index = cboWellDiameter.Items.IndexOf(sp.wellborediameterField_unit);
Console.WriteLine("Index of well bore dia unit = " + index.ToString());
cboWellDiameter.SelectedIndex = index;
// cboWellDiameter.SelectedItem = sp.wellborediameterField_unit;
// cboWellDiameter.SelectedValue = sp.wellborediameterField_unit;
Run Code Online (Sandbox Code Playgroud)
SelectedItem和selectedValue没有任何影响.为什么它甚至无法在物品中找到?我该如何设置?
请帮助我,有几个这样的非绑定和绑定组合以编程方式设置.
问题是您的项目是ComboBoxItems,而不是字符串.所以你有两个选择:一,使用字符串作为组合框项(这允许你设置SelectedItem/SelectedValue ="米"或"厘米"):
<ComboBox xmlns:clr="clr-namespace:System;assembly=mscorlib">
<clr:String>meter</clr:String>
<clr:String>centimeter</clr:String>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
或者两个,SelectedItem通过搜索适当的设置ComboBoxItem:
cboWellDiameter.SelectedItem = cboWellDiameter.Items.OfType<ComboBoxItem>()
.FirstOrDefault(item => item.Content as string == cosp.wellborediameterField_unit);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5426 次 |
| 最近记录: |