, . Comboboxes DropDownClosed - , RoutedEvent, ComboBoxes EventSetter. ( 'DropDownClosed' must be a RoutedEvent registered with a name that ends with the keyword "Event")
Loaded - RoutedEvent, :
<Style x:Key="ComboBoxCellStyle" TargetType="ComboBox">
<EventSetter Event="Loaded" Handler="ComboBox_Loaded" />
</Style>
, , , - ComboBox, , :
private void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
((ComboBox)sender).DropDownClosed -= ComboBox_OnDropDownClosed;
((ComboBox)sender).DropDownClosed += new System.EventHandler(ComboBox_OnDropDownClosed);
}
, , DropDown, , , , ComboBox. :
void ComboBox_OnDropDownClosed(object sender, System.EventArgs e)
{
FrameworkElement visualElement = (FrameworkElement)sender;
while( visualElement != null && !(visualElement is DataCell) )
visualElement = (FrameworkElement)visualElement.TemplatedParent;
if( visualElement is DataCell )
{
DataCell dataCell = (DataCell)visualElement;
dataCell.EndEdit();
if( !(dataCell.ParentRow is InsertionRow) ) dataCell.ParentRow.EndEdit();
}
}
ComboBox DataCell GridView, DataRow , ComboBox, .
. , . , , . , DropDownClosed. , , _Loaded.