我有一个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>
答案 0 :(得分:1)
您在后面的代码和XAML中明确设置ItemsSource
,选择其中一个。理想情况下,您将采用XAML方法并适当地设置DataContext
。
做出决定后,您可以使用ComboBox
属性在Items
内插入一个项目。
ComboBox box = new ComboBox();
box.Items.Insert(0, "My Item");
更好的方法是利用ICollectionView并简单地对数据进行排序,让UI做出相应的响应。然后,您的ItemsSource
将绑定到ICollectionView
。
答案 1 :(得分:0)
您可以使用以下代码轻松地在ComboBox的Items集合中的所需索引位置插入项目。
TextBlock t = new TextBlock();
t.Text = "Select a video device"
combo.Items.Insert(0, t);
设置所选索引会将ComboBox设置为默认显示添加的项目:
combo.SelectedIndex = 0;
或
你可以这样做.. YourClassObject objSelectItem = new YourClassObject();
objSelectItem.ID = "0";
objSelectItem.Name = "Select Item";
ComboBox1.Items.Insert(0,objSelectItem);
我希望它会帮助你......