C# 如何使用不基于selectedIndex的事件检测radcombox源中的单击
我有一个带有两项的组合框。但是在加载的页面上,我打印了一个项目,它不是来自同样具有索引0的数据源 如何检测dropdownlist中第一个项目(索引0)上的单击事件 我需要从dropdownlist中区分显示项的对象A索引0和对象B索引0。 对象A使用组合框的文本属性显示,因此其指定的索引为0 我无法使用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,但该事件
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;
}