我有两个文本框(XAML)
<s:SurfaceTextBox Name="CodePostal" TextChanged="CodePostalChanged" />
<s:SurfaceTextBox Name="Commune" Text="{Binding Path=CommuneGeographique}" />
在(.cs 文件)中
private MyModelContainer db;
private ObservableCollection<Commune> _CommunesList = new ObservableCollection<Commune>();
private ObservableCollection<Commune> CommunesList
{
get { return _CommunesList; }
set { _CommunesList = value; }
}
在构造函数中,我有这个:
InitializeComponent();
getCommunes("Test");
而getCommunes(string search)是一个 Linq 查询
db = new MyModelContainer();
CommunesList.Clear();
Commune.DataContext = _CommunesList;
var myCommunes = from d in db.Communes
where d.CommunePostale.Equals(search)
select d;
foreach (Commune c in myCommunes)
{
CommunesList.Add(c);
}
Commune.DataContext = CommunesList;
此时一切正常,Commune TextBox 显示我想要的内容。
我的问题是,当我尝试在 TextChanged 上调用 getCommunes() 方法时
private void CodePostalChanged(object sender, TextChangedEventArgs textChangedEventArgs)
{
getCommunes("Toto");
}
什么也没有发生,TextBox 被清除。
(它应该显示其他内容,但即使 CommuneList 有一个元素,它也是空的)