ComboBoxにデフォルトの選択値を持たせたいとします。この場合、viewmodelの最初の項目になります。 viewmodelから リストビュー/コンボボックスでデフォルトの選択した項目を設定する方法uwp
<ComboBox Name="cat_choices" ItemsSource="{x:Bind ViewModel.Categories}" Width="300" VerticalAlignment="Center">
<ComboBox.ItemTemplate>
<DataTemplate x:DataType="local:Category">
<TextBlock Text="{x:Bind cat_name}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
:
private ObservableCollection<Category> categories = new ObservableCollection<Category>();
public ObservableCollection<Category> Categories { get { return this.categories; } }
ありがとうございました。 、あなたはカテゴリーを移入が完了したら、
private int _SelectedIndex = 0;
public int SelectedIndex
{
get
{
return _SelectedIndex;
}
set
{
_SelectedIndex = value;
RaisePropertyChanged(nameof(SelectedIndex));
}
}
private Category _SelectedQuality = null;
public Category SelectedQuality
{
get
{
return _SelectedQuality;
}
set
{
_SelectedCategory = value;
RaisePropertyChanged(nameof(SelectedCategory));
}
}
のViewModelに新たに作成されたプロパティにコンボボックスのSelectedIndex
とSelectedItem
プロパティを結合、XAMLでSelectedCategory = Categories.First();
設定:
RaisePropertyChangedの名前空間が見つかりません。私のアプリケーションはsqliteデータベースにリンクしています。 – rur2641
私は同じアイデアを使用していますが、INotifyPropertyChangedを使用しています。私はxamlについてはわかりません:SelectedItem = "{バインディングViewModel.SelectedCategory、Mode = TwoWay}" ?? – rur2641
SelectedItem = "{SelectedCategory、Mode = TwoWayをバインドする"}のみです。 RaisePropertyChangedは、INotifyPropertyChangedの実装で同じ理想です。 – thang2410199