我正在尝试使用 AutoFac 将使用 StructureMap 的 IOC 的 WPF 示例转换为 Silverlight
事实证明这是非常困难的
我已经定义了一个静态 BootStrapper 类
public class BootStrapper
{
public static IContainer BaseContainer { get; private set; }
public static FlexContractStructureViewModel FlexContractStructureViewModel()
{
return BaseContainer.Resolve<FlexContractStructureViewModel>();
}
public static void Build()
{
if (BaseContainer == null)
{
var builder = new ContainerBuilder();
builder.RegisterAssemblyTypes();
BaseContainer = builder.Build();
}
}
static BootStrapper()
{
}
}
这是在 App.xaml.cs 的 Application_Startup 中初始化的
private void Application_Startup(object sender, StartupEventArgs e)
{
BootStrapper.Build();
this.RootVisual = new MainPage();
}
我已将我的一个视图的 DataContext 设置为使用我的 BootStrapper
DataContext="{Binding Path=FlexContractStructureViewModel,
Source={StaticResource classes:BootStrapper}}"
但我收到错误找不到具有名称/密钥类的资源:BootStrapper
我正在使用状态来更改要添加的 App.xaml 的书
但我不能这样做,因为 ObjectDataProvider 无法识别
我已经尝试了下面的等价物,但没有运气
<bs:BootStrapper xmlns:bs="clr-namespace:SLDashboard2.Classes" x:Key="BootStrapper"/>
我认为这可能与 BootStrapper 静态有关?但我不想不断创建新的容器
有人可以帮忙吗?
保罗