私はWPFが初めてです。複数のタブを持つアプリケーションがあります。1 つのタブで、データベースのテーブルにデータを挿入できます。別のタブには、前述のテーブルの itemsource を含むコンボボックスがあります。ユーザーがコンボボックスから選択したいときにコンボボックスの項目を更新したい./
次の方法で GotFocus プロパティを試しました。
private void ComboBoxOperatingPoints_GotFocus_1(object sender, RoutedEventArgs e)
{
this.ThisViewModel.UpdateModel();
}
Updatemodel 関数には次のものが含まれます。
this.OperatingPoints = new ObservableCollection<Operating_Point>(new OperatingPointRepository().GetAll());
this.NotifyPropertyChanged("OperatingPoints");
XAML でのコンボボックスのバインド:
<ComboBox SelectionChanged="ComboBoxOperatingPoints_SelectionChanged"
x:Name="ComboBoxOperatingPoints"
GotFocus="ComboBoxOperatingPoints_GotFocus_1"
FontSize="30"
HorizontalAlignment="Right"
Margin="40,40,0,0"
VerticalAlignment="Top"
Width="200"
Height="50"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding OperatingPoints}"
DisplayMemberPath="name"
SelectedValue="{Binding OperatingPointID,UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="operating_point_id"
>
コンボボックスは更新されますが、検証エラーが発生し、最初の GotFocus イベントが発生した後は使用できなくなります。前もって感謝します!
編集:
最後に、GotFocus イベントを DropDownOpened イベントに変更しましたが、正常に動作しています。