0
我有幾個獨立的庫,有一些導出主視圖。 有一個帶有TabControl的Shell,並希望將所有視圖加載到單獨的選項卡中。 我可以從這個插件註冊所有類型,但不知道如何顯示所有這些主視圖。 例如,我已經從5個插件註冊了5個視圖,但是如何將它傳遞給ShellView?如何從插件顯示視圖,通過Autofac動態加載?
我有幾個獨立的庫,有一些導出主視圖。 有一個帶有TabControl的Shell,並希望將所有視圖加載到單獨的選項卡中。 我可以從這個插件註冊所有類型,但不知道如何顯示所有這些主視圖。 例如,我已經從5個插件註冊了5個視圖,但是如何將它傳遞給ShellView?如何從插件顯示視圖,通過Autofac動態加載?
如果你有一個接口
public interface ITabView {
}
所有意見落實
public class MyFirstView : UserControl, ITabView
{
....
}
,你通過像
builder.RegisterType<MyFirstView>().As<ITabView>();
builder.RegisterType<MySecondView>().As<ITabView>();
註冊它們,那麼你可以訪問它們的所有(即使他們通過在ShellVi的構造函數中注入一個通用的IEnumerable來註冊到不同的程序集中) ew like
public ShellView(IEnumerable<ITabView> tabViews)
{
foreach (var view in tabViews)
{
... Create a tab for each view, make the tab the parent of the view
... and add the tab to the TabControl
}
}