0

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

4

1 に答える 1

0

テキストボックスを適切なプロパティにバインドしていないため、CommuneGeographique ??

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