我有一个项目,我有一个ComboBox与2个滑块交互。 这3个控件都由事件触发:即ComboBox的SelectionChanged和2个滑块的ValueChanged。WPF Combobox SelectionChanged事件
我认为ValueChanged事件给我的问题,而不是更新值和min/max相应的组合框选择。出于某种原因,我认为可能两个事件同时触发,导致混淆了我的变量。
嗯,我决定改变我的ValueChanged事件,以便他们只更新标签,看看是否解决了问题。它没。
换句话说,SelectionChanged事件是我的问题所在。
翻翻我的代码,我没有看到任何问题,在这一点上,我能想到的唯一的事情就是如下:
private void chanList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
switch (chanList.Text)
{
case "Channel 1":
{ // blablabla }
}
}
原因的问题是,chanList.Text不包含“新选择”,它仍然包含旧的。我猜测,当“SelectionChanged”事件触发时,组合框的内容(在我的情况下chanList.Text)还没有“更新”。所以它会导致我的交换机出现错误的情况。
现在我的问题: 1.我的假设是否正确? 2.如果是这样,我应该更换我的开关测试?假设chanList.Text没有更新,可能会用一些东西chanList.SelectedItem应该是要走的路。但是,我能够找到正确的详细信息来访问所选项目的内容(文本)......这就是为什么我要使用chanList.Text,它至少在我开始使用该事件之前工作得很好。
感谢您的帮助! Steve
设置断点并测试您的假设。 – PoweredByOrange
[在代码中创建一个最小,完整和可验证示例](http://stackoverflow.com/help/mcve),并将其发布到您的问题中。通过这种方式,我们可以测试您的问题并找到解决方案。事实上,任何数量的东西都可能导致你的问题。 – Sheridan