Здравствуйте!
Я новичок в c# wpf. Пишу первое своё приложение и прошу помощи.
Я сделал клиентское приложение, которое обращается к базе данных и отображает её содержимое в dataGrid для дальнейшего редактирования.
При этом возникло 2 проблемы:
1) При выборе статуса (в comboBox), в ячейке отображается помимо самого статуса ещё и тип:
"System.Windows.Controls.ComboBoxItem: В работу" вместо "В работу".
Описание ComboBox'a: (это в ресурсах)
<DataTemplate x:Key="StatusTemplate" >
<TextBlock Text="{Binding Path=status, ConverterParameter=DefaultToString}"/>
</DataTemplate>
<DataTemplate x:Key="EditingStatusTemplate">
<ComboBox SelectedItem="{Binding Path=status, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DropDownOpened="ComboBox_DropDownOpened">
<ComboBoxItem Content="Черновик" IsEnabled="True"/>
<ComboBoxItem Content="В работу" IsEnabled="True"/>
<ComboBoxItem Content="В работе" IsEnabled="True"/>
<ComboBoxItem Content="Остановлен" IsEnabled="True"/>
<ComboBoxItem Content="Завершен" IsEnabled="True"/>
<ComboBoxItem Content="Завершен по N2" IsEnabled="True"/>
</ComboBox>
</DataTemplate>
в DataGrid.Columns
<DataGridTemplateColumn Header="Статус" CanUserResize="False" CellTemplate="{StaticResource StatusTemplate}" CellEditingTemplate="{StaticResource EditingStatusTemplate}"/>
2) при вводе данных в колонки типа DataGridTextColumn и DataGridComboBoxColumn в dataGrid'e в строке, в которую добавлял данное, оно не отображается при отладке. А я хочу проверять, заполнены ли все ячейки в строке и если да, то разрешать редактирование статуса.
Пример описания колонок:
<DataGridTextColumn Binding="{Binding Path=progress}" ClipboardContentBinding="{x:Null}" Header="Прогресс" CanUserResize="False"/>
Пытался проверять содержимое dataGrid в обработчике при помощи отладчика:
private void dataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
DataGrid dg = dataGrid;
}
А в обработчике:
private void dataGrid_BeginningEdit(object sender, DataGridBeginningEditEventArgs e)
проверяю заполнены ли все остальные ячейки кроме статуса и если да - разрешаю его редактировать.
Заранее спасибо!