Ich kann die DLL so dynamisch laden und das Steuerelement ohne Probleme verwenden:
Code: Select all
var basePath = Directory.GetCurrentDirectory();
var dll = Assembly.LoadFile(Path.Combine(basePath, "Components.dll"));
foreach (var type in dll.GetExportedTypes())
{
if (type.IsAssignableTo(typeof(IComponentPlugin)))
{
var instance = Activator.CreateInstance(type);
if (instance is IComponentPlugin plugin)
{
// Do Stuff
}
}
}
Ich kann einen StyleInclude und ResourceInclude aus meiner DLL, indem ich dies in IComponentPlugin einfüge:
Code: Select all
public ResourceInclude? GetResources()
{
var uri = new Uri("avares://DefaultResources.axaml");
return new ResourceInclude(uri) { Source = uri };
}
public StyleInclude? GetStyle()
{
var uri = new Uri("avares://DefaultStyle.axaml");
return new StyleInclude(uri) { Source = uri };
}
Code: Select all
public Stream? GetResources()
{
return AssetLoader.Open(new Uri("avares://DefaultResources.axaml"));
}
Wie füge ich die Ressourcen meiner Anwendung hinzu? ?