激活SelectionChanged事件的访问控制

时间:2012-10-05 14:25:47

标签: c# wpf

如果我在DataGridTemplateColumn中定义一个Combobox,如下所示,每添加一个新行将有多个Combobox

<DataGridTemplateColumn x:Name="DataGridTempCol" Header="Items">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <ComboBox x:Name="combo" DisplayMemberPath="Value" SelectedValuePath="Key"   ItemsSource="{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}" SelectionChanged="combo_SelectionChanged" >
            </ComboBox>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

我现在想为每个Combox添加SelectionChanged事件。我试过以下

private void combo_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    // Every SelectedItem is one data object in Dictionary collection.
    KeyValuePair<string, string> selob =
        (KeyValuePair<string, string>)combo.SelectedItem;
    string selKey = selob.Key;
    string selvalue = selob.Value; 
}

combo无法识别,因为它不是ComboBox的单个实例。如何引用生成事件的ComboBox并访问SelectedItem?

1 个答案:

答案 0 :(得分:2)

您是否尝试过以下操作?我的第一个猜测是,它应该为您提供ComboBox或整个DataGrid。

e.OriginalSource