Я пытаюсь привязать данные из базы данных к сетке данных в WPF с помощью Caliburn.Micro. Caliburn прекрасно работает со стандартными текстовыми столбцами, но когда я пытаюсь привязать данные к столбцу шаблона, данные не отображаются на экране. Например, в столбце «Элемент материала» элементы отображаются в виде простой привязки. Но когда я пытаюсь использовать столбец шаблона с выпадающим списком, то же самое не происходит. Цель здесь - вытащить данные из базы данных в представление, используя Bindablecollection ... Затем у вас есть выпадающее меню для выбора из Статус материала, Заказано, Нет на складе, На складе. Это действительно простая идея, чтобы изменить выбранный в прошлом статус (например, не в наличии) (например, в наличии) и использовать его во многих приложениях. Вот код и изображение того, что происходит.
<DataGrid AutoGenerateColumns="False"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
CanUserAddRows="False"
x:Name="ProjectMaterialList"
SelectedItem="{Binding SelectedMaterialItem}"
Margin="10,10,10.333,10">
<DataGrid.Columns>
<DataGridTextColumn Header="MaterialId"
Binding="{Binding MaterialId}"
CanUserResize="False"
Visibility="Hidden" />
<DataGridTextColumn Header="Project"
Binding="{Binding ProjectName}"
CanUserResize="False"
Width="15*" />
<DataGridTextColumn Header="Type"
Width="7*"
Binding="{Binding MaterialType}"
CanUserResize="False" />
<DataGridTextColumn Header="Quantity"
CanUserResize="False"
Binding="{Binding MaterialQuantity}"
Width="5*" />
<DataGridTextColumn Header="Unit"
Binding="{Binding MaterialMeasureType}"
CanUserResize="False"
Width="5*" />
<DataGridTextColumn Header="Measure"
Binding="{Binding MaterialMeasure}"
CanUserResize="False"
Width="5*" />
<DataGridTextColumn Header="Item"
Binding="{Binding MaterialItem}"
CanUserResize="False"
Width="15*" />
<DataGridTemplateColumn Header="Status"
CanUserResize="False"
Width="11*"
x:Name="MaterialStatus">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding MaterialModel.MaterialStatus }" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=OrderStatuses }"
SelectedItem="MaterialStatus" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Что происходит Что я хочу случиться