2011-10-25 18 views
1

私はSilverlightアプリケーションを持っていて、ComboBoxVideoCaptureDeviceで埋められています。Silverlightにアイテムを追加するコンボボックス

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> 

答えて

1

ItemsSourceをコードとXAMLの中に明示的に設定して、どちらか一方を選択します。理想的には、XAMLのアプローチを採用し、DataContextを適切に設定します。

Itemsプロパティを使用して、ComboBox内にアイテムを挿入することができます。

ComboBox box = new ComboBox(); 
box.Items.Insert(0, "My Item"); 

より良いアプローチはICollectionViewを活用し、簡単にデータをソートし、それに応じてUIの応答をできるようになります。 ItemsSourceICollectionViewにバインドされます。

0

あなたは簡単に以下のコードを使用してコンボボックスの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); 

Iそれがあなたを助けることを願って...

関連する問題