Tôi mới trong WPF, mặc dù tôi có một số kinh nghiệm với WinForms. Tôi chỉ muốn thêm ContextMenu cho một số đối tượng mà tôi tạo động, nhưng tôi không tìm thấy thành phần ContextMenu trong VS toolbox. Cách duy nhất tôi thấy là tạo ra ContextMenu trong thời gian chạy như thế này:ContextMenu trong WPF
ContextMenu pMenu = new ContextMenu();
MenuItem item1 = new MenuItem();
MenuItem item2 = new MenuItem();
//I have about 10 items
//...
item1.Header = "item1";
item1.Click += new RoutedEventHandler(item1_Click);
pMenu.Items.Add(item1);
item2.Header = "item2";
item2.Click += new RoutedEventHandler(item2_Click);
pMenu.Items.Add(item2);
//and so on
Nó hoạt động, tuy nhiên, trong WinForms tôi đã có thể thả bộ phận ContextMenuStrip mẫu của tôi và xác định các mặt hàng và các sự kiện rất nhanh chóng w/o viết bất kỳ mã. Có thể trong WPF?
Ok, nhưng tôi tạo đối tượng động, vậy làm cách nào để liên kết đối tượng trong thời gian chạy? – Mike
@Michael: Bạn sẽ có thể nhận được ContextMenu khi chạy qua 'var pMenu = (ContextMenu) this.Resources [" MyContextMenu "];' Sau đó, bạn có thể gán biến này cho điều khiển được tạo động của bạn. – Heinzi
Cảm ơn, nó hoạt động. Điều duy nhất tôi không thể hiểu là tại sao trong WPF tôi phải làm tất cả các phép thuật này và không có thành phần thích hợp và GUI trong IDE để làm cho mọi thứ dễ dàng hơn nhiều như họ phải. – Mike