WinUI 3 Desktop中AutoSuggestBox输入触发NullReferenceException求助
WinUI 3 Desktop中AutoSuggestBox输入触发NullReferenceException问题
环境
- WinUI 3 Desktop WindowsAppSDK (1.2.230313)
问题情况
在AutoSuggestBox组件中输入内容时触发NullReferenceException,调试时断点从未命中绑定的事件方法,应用直接崩溃,错误截图如下:
对应的View代码
<AutoSuggestBox QueryIcon="Find" ItemsSource="{x:Bind AP.ViewModel.Entities, Mode=TwoWay}" TextChanged="{x:Bind AP.ViewModel.AutoSuggestBox_TextChanged}" SuggestionChosen="{x:Bind AP.ViewModel.AutoSuggestBox_SuggestionChosen}" QuerySubmitted="{x:Bind AP.ViewModel.AutoSuggestBox_QuerySubmitted}"/>
排查方向
- 确认
AP.ViewModel在XAML加载时已完成实例化,x:Bind默认采用OneTime模式,若ViewModel未初始化,绑定会直接引发空引用。 ItemsSource绑定的Entities集合无需设为TwoWay模式,改成Mode=OneWay,同时确保ViewModel中Entities初始化为空集合(比如new ObservableCollection<T>())而非null。- 检查三个事件绑定的方法签名是否完全匹配要求:比如
AutoSuggestBox_TextChanged的签名必须是private void AutoSuggestBox_TextChanged(object sender, AutoSuggestBoxTextChangedEventArgs e),参数类型和数量不能出错。 - 开启调试的异常捕获:打开「调试→窗口→异常设置」,勾选「Common Language Runtime Exceptions」,重新运行后查看完整调用栈,精准定位空引用的触发位置。
内容的提问来源于stack exchange,提问作者Keyboard_Kowboy
相关产品推荐
相关产品推荐

