2017-04-13 6 views
0

持つコンボボックス満たさ "ID" の項目:のXmaIへのUserControlで

<ComboBox x:Name="cmbId" DisplayMemberPath="Id"/>

CS:

cmbId.ItemsSource = (from q in mydata.test_views 
        select q).ToList(); 

私が埋めるためにしようとしていますデータをDataGridに挿入する:

<DataGrid x:Name="UGrid" AutoGenerateColumns="False"> 
      <DataGrid.Columns> 
       <DataGridTextColumn Header="Auto Name" Binding="{Binding SelectedItem.AutoName, UpdateSourceTrigger=PropertyChanged, ElementName=cmbId}" Width="100"/> 
       <DataGridTextColumn Header="Color" Binding="{Binding SelectedItem.Color, UpdateSourceTrigger=PropertyChanged, ElementName=cmbId}" Width="100"/> 
      </DataGrid.Columns> 
</DataGrid> 

データの表示方法 "Auto Name & ComboBoxでユーザーが項目を選択した後の "Color"値?

+0

イベントを使用していますか? 私はコンボボックスSelectedIndexChangedをVMの変数に接続し、それにDataGridをバインドします。 –

+0

DataGridに1つのアイテムを表示しようとしていますか? – mm8

+0

@ mm8 - はい、単一の値 - 選択されたIDの1行になります。Auto_NameとColorの値が含まれます – 4est

答えて

1

DataGridItemsSourceIEnumerable<T>とする。あなただけDataGridで単一の項目を表示したい場合は、ComboBoxためSelectionChangedイベントを処理し、ComboBoxで選択した項目が含まれList<T>DataGridItemsSourceプロパティを設定できます

private void cmbId_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    UGrid.ItemsSource = new List<YourEntityType> { cmbId.SelectedItem as YourEntityType }; 
} 

<DataGrid x:Name="UGrid" AutoGenerateColumns="False"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Auto Name" Binding="{Binding AutoName, UpdateSourceTrigger=PropertyChanged}" Width="100"/> 
     <DataGridTextColumn Header="Color" Binding="{Binding Color, UpdateSourceTrigger=PropertyChanged}" Width="100"/> 
    </DataGrid.Columns> 
</DataGrid> 
+0

cool、もう一度** mm8 ** :) – 4est

0

あなたはコンボボックスにイベントを追加する必要があります。

> <ComboBox x:Name="cmbId" DisplayMemberPath="Id" 
> SelectionChanged="selectionInComboboxChanged"/> 

selectionInComboboxChangedでは、選択したコボボックス項目を取得し、mydata.test_viewsリストに追加できます。

関連する問題