【发布时间】:2012-07-16 19:39:28
【问题描述】:
我有两个 ComboBox,一个是公司,另一个是区域(意味着每个公司都有一组区域),我想根据 ComboBox_Company 中设置的公司更改 ComboBox_Region 的 ItemSource。
我有两个类,代表公司和地区,以及一个返回确定公司地区列表的地区类方法(作为参数传递)。
当 ComboBox_Company 所选项目发生更改时,我还触发了一个事件,该事件应重新加载 ComboBox_Region 源。见下文
private void ComboBox_Company_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Company selected_company= (Company)ComboBox_Company.SelectedValue;
Dictionary<int, string> regions = Region.GetLookupListByCompanyID(null, selected_company.ID, false);
ComboBox_Region.ItemsSource = regions.Values;
}
尽管如此,我收到了 NullReferenceException 错误,但我不知道如何解决。
XAML 代码如下:
<TextBlock Grid.Row="0" Grid.Column="0" Text="{x:Static props:ResourcesWPF.Company}" />
<ComboBox Name="ComboBox_Company" Grid.Row="0" Grid.Column="1" DisplayMemberPath="Name" SelectedItem="ID" Initialized="ComboBox_Company_Initialized" SelectionChanged="ComboBox_Company_SelectionChanged" />
<TextBlock Grid.Row="1" Grid.Column="0" Text="{x:Static props:ResourcesWPF.Region}" />
<ComboBox Name="ComboBox_Region" Grid.Row="1" Grid.Column="1" DisplayMemberPath="Name" SelectedItem="ID" Initialized="ComboBox_Region_Initialized" SelectionChanged="ComboBox_Region_SelectionChanged" />
【问题讨论】:
-
几乎所有的 NullReferenceException 情况都是一样的。请参阅“What is a NullReferenceException in .NET?”获取一些提示。
-
调试:检查
selected_company或regions是否与Null不同 -
@MBen :不,它们不为空。我会检查一下其他链接。谢谢!
-
如果您能指出 NRE 正在发生的那一行,那将非常有帮助。
-
@GuilhermeCampos 请给我看它的 xaml
标签: c# wpf combobox nullreferenceexception itemssource