私は 2 つの TextBoxes ( 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 に要素が含まれていても空です)