C# 如何使用不基于selectedIndex的事件检测radcombox源中的单击

C# 如何使用不基于selectedIndex的事件检测radcombox源中的单击,c#,wpf,xaml,code-behind,C#,Wpf,Xaml,Code Behind,我有一个带有两项的组合框。但是在加载的页面上,我打印了一个项目,它不是来自同样具有索引0的数据源 如何检测dropdownlist中第一个项目(索引0)上的单击事件 我需要从dropdownlist中区分显示项的对象A索引0和对象B索引0。 对象A使用组合框的文本属性显示,因此其指定的索引为0 我无法使用SelectionChanged,因为事件基于SelectedIndex。这里两者都有相同的 下面是一些代码,但不是很有帮助(我尝试使用PreviewMouseLeftButtonUp,但该事件

我有一个带有两项的组合框。但是在加载的页面上,我打印了一个项目,它不是来自同样具有索引0的数据源

如何检测dropdownlist中第一个项目(索引0)上的单击事件

我需要从dropdownlist中区分显示项的对象A索引0和对象B索引0。 对象A使用组合框的文本属性显示,因此其指定的索引为0

我无法使用
SelectionChanged
,因为事件基于
SelectedIndex
。这里两者都有相同的

下面是一些代码,但不是很有帮助(我尝试使用
PreviewMouseLeftButtonUp
,但该事件不会在项目上触发):

XAML


这是asp.net还是xaml?它们之间也有很大的不同,给我们看一些代码。这是在xaml中,我编辑了一些代码。不确定它是否有帮助。请看一看可观察集合在WPF中是如何工作的。我过去用过它,但在一家老公司有好几年没有用过。看看这个问题,谷歌这个链接应该会给你一组有用的结果。谢谢我检查一下,我不想做的是在值更改时调用一个方法,而不是索引。这是asp.net还是xaml?它们之间也有很大的不同,给我们看一些代码。这是在xaml中,我编辑了一些代码。不确定它是否有帮助。请看一看可观察集合在WPF中是如何工作的。我过去用过它,但在一家老公司有好几年没有用过。看看这个问题,谷歌这个链接应该会给你一组有用的结果。谢谢我检查一下,我不想做的是在值改变时调用一个方法,而不是索引。
<telerik:RadComboBox x:Name="Combo" ItemsSource="{Binding ListeIndexationInit, Mode=OneWay}" SelectedValue="{Binding SelectedCodeIndexInitVentePV, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" PreviewMouseLeftButtonUp="Combo_PreviewMouseLeftButtonUp">
//Does not get the right index
private void RadComboBox_LostFocus(object sender, RoutedEventArgs e)
{
    RefOffreIndex value = Combo.SelectedValue as RefOffreIndex;
    if (value != null)
    {
        Combo.Text = value.ToString();
    }
    Combo.SelectedIndex = -1;
    var SelectionBoxItem = Combo.SelectionBoxItem;
    Combo.SelectedItem = value;
    var bindingExpression = Combo.GetBindingExpression(RadComboBox.SelectedItemProperty);
}
//Never triggered
private void Combo_SourceUpdated(object sender, DataTransferEventArgs e)
{
    Combo.SelectedIndex = -1;
}
//Event is too early
private void Combo_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
    var toto = 2;
}