0
創建兩個ViewModels包含了我所見過的所有設計時暴露數據的方法。一個用於設計時,另一個用於運行時。WPF中的IoC和設計時數據支持
但我覺得這很愚蠢。爲什麼我想要複製代碼?如果我已經在應用程序中使用它,爲什麼我不能依賴IoC容器?
我只是想在合適的時間在設計時編寫IoC,然後WpfDesigner會嘗試解析相應的ViewModel。
所以我們需要一些彙編級的初始化方法。 我找到了this thread on stackoverflow。
不幸的是,它似乎將以下代碼添加到AssemblyInfo.cs中不起作用:
[assembly: DesignTimeBootstrapper]
[AttributeUsage(AttributeTargets.Assembly)]
class DesignTimeBootstrapperAttribute : Attribute {
public DesignTimeBootstrapperAttribute() {
File.AppendAllLines(@"F:\tmp\DesignTimeDebug.txt", new[] { "DesignTimeBootstrapperAttribute" });
var dep = new DependencyObject();
if (DesignerProperties.GetIsInDesignMode(dep)) {
Bootstrapper b = new Bootstrapper();
b.Start();
}
}
}
我沒有看到這個代碼是以往任何時候都調用。