0
コンボボックスの列が定義されたカスタムDataGridを作成しました。私はitemsource値をコンボボックスに提供しようとしましたが、実行時にコンボボックスにデータを入力しません。ここにはC#とXAMLコードがあります。 ComboBoxはDataGridTemplateColumnのバインディングデータを表示しません
public class ComboboxViewModel
{
public List<string> Members { get; set; }
public List<string> Disciplines { get; set; }
public ComboboxViewModel()
{
this.Members = new List<string>
{
"Ali", "Mubashar", "Muffassir", "Nitin"
};
this.Disciplines = new List<string>
{
"Architecture", "Mechanical", "Structure"
};
}
}
public MainWindow()
{
InitializeComponent();
datagrid_additionalinfo.Items.Add(new object());
datagrid_additionalinfo.DataContext = new ComboboxViewModel();
}
<DataGrid Name="datagrid_additionalinfo" Margin="20,0,20,0" IsReadOnly="False" SelectionMode="Single" CanUserAddRows="True" AutoGenerateColumns="False" SelectionUnit="Cell" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="Discipline" Width="100" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Width="200" ItemsSource="{Binding Disciplines}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Members" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Width="200" ItemsSource="{Binding Members}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
私は何かが欠けてるなら、私を修正してください。どうもありがとうございました。
感謝。私は実際にここにコードを貼り付けながらその行を逃した。私はdatagrid_additionalinfo.Items.Add(新しいComboboxViewModel())を使用することはできません。コード。私のデータグリッドには、ユーザがデータを入力するためのテキストボックスが含まれているからです。その少し複雑です。 xamlでデータをバインドするソリューションはありますか? –
はい、編集された回答を参照 – Netstep
ありがとう、それは働いた:-) –