Tôi có một ứng dụng có khả năng bổ sung (MEF). Các plugin là WPF UserControls có dịch vụ nhập.Sự cố khi chỉ định các đại biểu trong vòng lặp
Người dùng có thể chọn plugin mong muốn từ menu chính của ứng dụng.
Để làm điều này, tôi sử dụng vòng lặp sau đây:
foreach(IToolPlugin Plugin in ToolPlugins)
{
Plugin.Init();
MenuItem PluginMenuItem = Plugin.MenuItem; //New MenuItem but with Header set.
PluginMenuItem.Click += new RoutedEventHandler(delegate(object o, RoutedEventArgs e) { DoSomething(Plugin.Control);});
PluginsMenu.Items.add(PluginMenuItem);
}
đó làm việc rất tốt cho một mục duy nhất. Nhưng ngay sau khi tôi có nhiều hơn 1 plugin, tất cả các menuitem thực hiện các đại biểu của vòng lặp cuối cùng. Hoặc ít nhất là với Plugin.Control của vòng lặp cuối cùng.
Tôi có thể sửa lỗi này bằng cách nào?
Cảm ơn bạn đã trợ giúp.
Tôi yêu nhìn thấy nhiều các biến thể của câu hỏi này. – ChaosPandion
@Chaos - trong trường hợp đó bạn nên bỏ phiếu để đóng;) – ChrisF