[с использованием vs2010 и expression blend v4]
Привет - пытаюсь загрузить некоторые данные времени разработки в WPF и Blend, используя концепцию Джоша Смита здесь: http://joshsmithonwpf.wordpress.com/2010/ 04/07 / инициализация на уровне сборки во время разработки / например
[AttributeUsage(AttributeTargets.Assembly)]
public class DesignTimeBootstrapperAttribute : Attribute
{
public DesignTimeBootstrapperAttribute(Type type)
{
var dep = new DependencyObject();
Debug.WriteLine("here..?");
if (DesignerProperties.GetIsInDesignMode(dep))
{
// TODO: Design-time initialization…
IBootstrapper instance = Activator.CreateInstance(type) as IBootstrapper;
if (instance != null)
{
instance.Run();
}
}
}
}
С моим атрибутом здесь, в AssemblyInfo.cs, где AppBootstrapper расширяет MefBootstrapper.
[assembly: AssemblyCopyright("Copyright © 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: DesignTimeBootstrapper(typeof(AppBootstrapper))]
Я не хочу использовать образцы данных Blend, а) поскольку он, похоже, не создает данные для ObservableCollection и б) Я Я по определению нахожусь в режиме разработки, поэтому все может сильно измениться, но мои «сгенерированные данные» - нет.
В любом случае, похоже, ничего не происходит.
Q1: Как можно отладить инициализацию моего начального загрузчика во время разработки? Q2: Нужны ли мне дополнительные пространства имен / атрибутов смешивания в моем представлении XAML?
(В моем загрузчике я просто регистрирую другой модуль, в котором я хочу заменить RunTimeService на DesignTimeService, экспортируя интерфейс IService).
TIA