添加项目到Silverlight组合框
本文关键字:组合 Silverlight 项目 添加 | 更新日期: 2023-09-27 18:12:37
我有一个Silverlight
应用程序,ComboBox
由VideoCaptureDevice
填充。
cbVideoDevices.ItemsSource = CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices();
我试图添加项目,"选择一个视频设备"到第一个索引,但我不能让它工作。
XAML代码: <ComboBox Height="25" HorizontalAlignment="Left" Margin="0,0,0,0" Name="cbVideoDevices" VerticalAlignment="Top" Width="125" ItemsSource="{Binding AudioDevices}" SelectedItem="{Binding SelectedAudioDevice}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding FriendlyName}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
您在后面的代码中显式地设置ItemsSource
和XAML,选择一个或另一个。理想情况下,您应该采用XAML方法并适当设置DataContext
。
一旦你做了这个决定,你可以使用Items
属性在你的ComboBox
中插入一个项目。
ComboBox box = new ComboBox();
box.Items.Insert(0, "My Item");
更好的方法是利用ICollectionView,简单地对数据进行排序,并让UI做出相应的响应。然后,您的ItemsSource
将绑定到ICollectionView
。
您可以使用以下代码轻松地将项插入到组合框的Items集合中所需的索引位置。
TextBlock t = new TextBlock();
t.Text = "Select a video device"
combo.Items.Insert(0, t);
设置所选索引将使组合框默认显示添加的项目:
combo.SelectedIndex = 0;
或
你可以这样做…
YourClassObject objSelectItem = new YourClassObject();
objSelectItem.ID = "0";
objSelectItem.Name = "Select Item";
ComboBox1.Items.Insert(0,objSelectItem);