添加项目到Silverlight组合框

本文关键字:组合 Silverlight 项目 添加 | 更新日期: 2023-09-27 18:12:37

我有一个Silverlight应用程序,ComboBoxVideoCaptureDevice填充。

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>

添加项目到Silverlight组合框

您在后面的代码中显式地设置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);