私の WPF アプリケーションには、2 つの AutoCompleteBox コントロールを持つ UserControl があります。この UserControl は、ページに複数回表示できます。問題は、AutoCompleteBox に入力すると、選択肢のドロップダウンが表示されないことです。Populating イベントを処理しています。そこにブレーク ポイントを置いてステップ スルーすると、ItemsSource に項目が含まれていることがはっきりとわかります。実際にはドロップダウンが表示されないことを除けば、動作しているように見えます。メニュー。http://msdn.microsoft.com/en-us/library/dd795156%28v=VS.95%29.aspxのコード サンプルに従いました。ここで何が欠けていますか?
XAML:
<my:AutoCompleteBox Name="acboxCoauthorName" Width="175" Unloaded="Control_Unloaded" MinimumPopulateDelay="100" Populating="acboxCoauthorName_Populating">
<my:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=LastOrCompanyName}"/>
</DataTemplate>
</my:AutoCompleteBox.ItemTemplate>
</my:AutoCompleteBox>
C#:
private void acboxCoauthorName_Populating(object sender, PopulatingEventArgs e)
{
e.Cancel = true;
var query = from a in _context.Authors
where a.Display_Name.StartsWith(acboxCoauthorName.Text)
select a;
acboxCoauthorName.ItemsSource = ((ObjectQuery) query).Execute(MergeOption.OverwriteChanges);
acboxCoauthorName.PopulateComplete();
}
私たちがそれに取り組んでいる間、データコンテキストにあるオブジェクトをデータバインドすることもできないようです。上記のデータバインディング方法を試した、またはより単純な方法を試しました:
<my:AutoCompleteBox Name="acboxCoauthorName" Width="175" MinimumPopulateDelay="100" Populating="acboxCoauthorName_Populating" Text="{Binding Path=LastOrCompanyName}">
どちらも機能しませんでした。何か案は?
編集: 2 番目の部分は気にしないでください。コントロールの DataContext に間違ったオブジェクトを設定していました。
ありがとう。