コンパクト フレームワークのメニュー コントロールを作成しています。コントロールにはアイテムのコレクションがあります。ビジュアル スタジオ デザイナーを使用して項目を追加できますが、デザイナー ファイルには追加されないため、次にデザイナーを開くかソリューションをビルドすると、メニューに項目がなくなります。
アイテムのコードは次のとおりです。
public class Item
{
public int ImageIndex { get; set; }
private string _text = "";
public string Text
{
get { return _text ?? ""; }
set { _text = value ?? ""; }
}
public string Name { get; set; }
}
メニューに関連するコードは次のとおりです。
public class ItemMenu : Control
{
public ItemMenu()
{
Columns = 4;
RowHeight = 64;
ColumnWidth = 64;
_items.ListChanged += new ListChangedEventHandler(_items_ListChanged);
}
private BindingList<Item> _items = new BindingList<Item>();
public BindingList<Item> Items
{
get { return _items; }
}
public ImageList NormalImages { get; set; }
public ImageList SelectedImages { get; set; }
public int Columns { get; set; }
public int RowHeight { get; set; }
public int ColumnWidth { get; set; }
public int Rows
{
get { return (int)Math.Ceiling((double)Items.Count / (double)Columns); }
}
private void _items_ListChanged(object sender, ListChangedEventArgs e)
{
Refresh();
}
}
ビジュアルスタジオデザイナーで編集するときに、アイテムのコレクションをデザイナーファイルに保存する方法を知っている人はいますか?