0

我有两个文本框(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 有一个元素,它也是空的)

4

1 回答 1

0

因为您没有将文本框与良好的属性 CommuneGeographique 绑定在一起?

  <s:SurfaceTextBox Grid.Column="1" Name="Commune" Text="{Binding Path=CommuneGeographique}" />
于 2012-07-04T15:29:48.087 回答