私は C++ 開発者で、最近 WPF の学習を開始しました。私はMVVMを使用しているwpfアプリに取り組んでいます。コンボボックスがあり、そこにアイテムを追加する必要があります。私は通常 ComboboxPropertyName.Add("") を使用してアイテムを追加しますが、コードの長さをあまり気にせずにアイテムを追加する効率的な方法を探しています。コードは次のとおりです。
XAML:
<ComboBox Height="23" ItemsSource="{Binding BoardBoxList}" SelectedItem="{Binding SelectedBoardBoxList, Mode=TwoWay}" SelectedIndex="0" Name="comboBox2" />
ViewModel クラス:
public ObservableCollection<string> BoardBoxList
{
get { return _BoardBoxList; }
set
{
_BoardBoxList = value;
OnPropertyChanged("BoardBoxList");
}
}
/// <summary>
/// _SelectedBoardBoxList
/// </summary>
private string _SelectedBoardBoxList;
public string SelectedBoardBoxList
{
get { return _SelectedBoardBoxList; }
set
{
_SelectedBoardBoxList = value;
OnPropertyChanged("SelectedBoardBoxList");
}
}
C ++でコンボボックスにアイテムを追加した方法は次のとおりです。
static const signed char boards[][9] = {
{}, // left blank to indicate no selection
{ 'S', '1', '0', '1', '0', '0', '1', '2', 0 }, // redhook
{ 'S', '1', '0', '1', '0', '0', '1', '8', 0 }, // bavaria
{ 'S', '1', '0', '1', '0', '0', '2', '0', 0 }, // flying dog
};
m_boardBox = new ComboBox(String::empty);
for(int i = 1; i < 4; i++)
m_boardBox->addItem(String((char*)(boards[i])), i);
m_boardBox->setSelectedId(2); // select Bavaria by default
addAndMakeVisible(m_boardBox);
上記に気付いた場合、アイテムを簡単に追加するループが見つかります。これは、コンボボックスにアイテムを追加する方法です。
使用する_BoardBoxList.Add("....");
場合、多くの .Add を使用する必要があります。for loop
アイテムをリスト/コレクションに保存し、上記のような形でコンボボックスに追加できる効率的な方法はありますか?
助けてください :)