【发布时间】:2019-07-14 04:38:48
【问题描述】:
在我的 xaml 中,我将 ObservableCollection<City> Cities 绑定到它
而SelectedItem 是SelectedCity
有时当鼠标悬停在某个项目上时,我无法选择它
我的列表框如下所示:
<ListBox ItemsSource="{Binding Model.Cities}" SelectedItem="{Binding Model.SelectedCity}" HorizontalAlignment="Left" Height="468" Margin="10,136,0,0" VerticalAlignment="Top" Width="877">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="0,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="150" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Name}" />
<TextBlock Grid.Column="1" Text="{Binding Plz}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在我的模型中,代码如下所示:
class CitiesModel: MyObservableCollection<City>
{
public ObservableCollection<City> Cities
{
get
{
return _cities;
}
}
private ObservableCollection<City> _cities;
private City _selectedCity;
public City SelectedCity
{
get
{
return _selectedCity;
}
set
{
_selectedCity = value;
RaisePropertyChanged("SelectedCity");
}
}
谁能解释一下,为什么我有时不能选择一个项目?
【问题讨论】:
-
为什么你的视图模型继承自
MyObservableCollection<>?听起来很可疑……会不会是这个基类中发生的事情导致重新绑定到模型? -
它只是一个继承自observablecollection和INotifyPropertyChanged的类,并且有一个名为RaisePropertyChanged的方法
标签: wpf listbox selecteditem