У меня есть Datagrid WPF, и я хочу реализовать в нем столбец CheckCombobox. Я скачал extendedToolkit и сделал, как показано ниже,Расширенные значения инструментария не сохраняются в WPF
<DataGridTemplateColumn Header="Operation" MinWidth="150" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding SelectedOperations,UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True,NotifyOnValidationError=True}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<my:CheckComboBox x:Name="_combo" Width="150"
HorizontalAlignment="Center"
VerticalAlignment="Center"
ItemsSource="{Binding Path=AllOperations,UpdateSourceTrigger=Default}"
DisplayMemberPath="OperationName"
ValueMemberPath="OperationName"
SelectedItem="{Binding SelectedOperation, Mode=TwoWay}"
ItemSelectionChanged="_combo_ItemSelectionChanged" SelectedValue="{Binding SelectedOperations, Mode=TwoWay}"
/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
Моя проблема, на потерянном фокусе колонки все проверенное значение, таким образом, исчезает, когда в следующий раз, он открывает у меня есть все значения по умолчанию. Может кто-нибудь пожалуйста, дайте мне знать, где я буду неправильно ... The ViewModel показано ниже (только показали ту часть, которая используется в коде ниже)
public ObservableCollection<OperationMasterVM> AllOperations
{
get
{
//SelectedOperation.Clear();
return DAL.GetAllOperations();
}
}
private Dictionary<string,string> _operation = new Dictionary<string,string>();
public Dictionary<string, string> SelectedOperation
{
get
{
return _operation;
}
set
{
_operation = value;
}
}
private string _selectedOperations;
public string SelectedOperations
{
get
{
_selectedOperations = string.Empty;
if (SelectedOperation.Any())
{
foreach (var operation in SelectedOperation)
{
if (string.IsNullOrEmpty(_selectedOperations))
{
_selectedOperations = operation.Value;
}
else
{
_selectedOperations = _selectedOperations + ", " + operation.Value;
}
}
}
return _selectedOperations;
}
set
{
_selectedOperations = value;
}
}
Что такое 'CheckComboBox'? Как это реализовано? – Alberto
У вас долгий путь впереди ваших и драконов. Удачи, что ваша клавиатурная навигация будет работать стандартным образом. –