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
대단히 감사합니다. –