C# 当使用触摸界面访问时,组合框会导致应用程序崩溃,但可以使用鼠标
我有一个组合框,显示数据库中存储库的列表,我唯一的事件是DropDownOpen事件,在此期间,我访问数据库以获取要显示的项目列表 使用鼠标打开组合框并选择一个项目,一切都很好,但是当我使用触摸屏(在Windows8或surface上)时,会出现问题 当我第一次打开组合框并选择一个列表时,没有问题,但是在我选择了一个项目之后,如果我再次尝试打开列表,应用程序就会崩溃 下面是组合框的xaml:C# 当使用触摸界面访问时,组合框会导致应用程序崩溃,但可以使用鼠标,c#,wcf,windows-runtime,windows-store-apps,winrt-xaml,C#,Wcf,Windows Runtime,Windows Store Apps,Winrt Xaml,我有一个组合框,显示数据库中存储库的列表,我唯一的事件是DropDownOpen事件,在此期间,我访问数据库以获取要显示的项目列表 使用鼠标打开组合框并选择一个项目,一切都很好,但是当我使用触摸屏(在Windows8或surface上)时,会出现问题 当我第一次打开组合框并选择一个列表时,没有问题,但是在我选择了一个项目之后,如果我再次尝试打开列表,应用程序就会崩溃 下面是组合框的xaml: <ComboBox x:Name="RepositoryComboBox" Grid.Ro
<ComboBox x:Name="RepositoryComboBox" Grid.Row="3" Grid.Column="1" SelectedItem="{Binding SelectedRepository, Mode=TwoWay}" ItemsSource="{Binding RepositoryList, Mode=TwoWay}"
Style="{StaticResource ComboBoxStyle}" IsEnabled="True" DropDownOpened="ReposDrop"/>
你知道是什么导致了这个问题吗
编辑这是我遇到的错误
Exception {"Error HRESULT E_FAIL has been returned from a call to a COM component."}
您的
ViewModel.GetRepositories()
调用可能会更新后台线程上的列表内容。如果你不呼叫它,检查它是否仍然崩溃。您也可以尝试延迟呼叫,例如使用等待任务。延迟(100)
,以防组合框在打开时不希望其内容更新。如果存储库列表不包含任何元素,则应用程序将崩溃,因此向空列表添加虚拟元素解决了问题。不知道它为什么会出现这个问题,或者为什么它只在使用触摸输入时崩溃。这个问题解决了吗?在exacpt相同的场景中,我也得到了exacpt相同的错误
Exception {"Error HRESULT E_FAIL has been returned from a call to a COM component."}