动态程序集中的WPF xaml对象
本文关键字:WPF xaml 对象 集中 程序 程序集 动态 | 更新日期: 2023-09-27 18:02:47
我正在开发某种互操作性库,遇到了以下问题:
我的互操作性库在Emit的动态程序集中反映来自其他语言的类。并且在构建时没有可用的类。当我尝试将动态程序集放入XAML时使用如下代码:
xmlns:test="clr-namespace:ClassesReflected;assembly=ClassesReflected"
然后用这个
从那里得到一个类<test:TestDelegate x:Key="dyn" x:Name="dyn"/>
编译时出现错误。
是否有绕过编译时检查或在运行时加载xaml或其他任何使此解决方案工作?
任何小费。高度赞赏。
我不确定这是否适合你,但有一种方法。
首先你需要定义一个命名空间并忽略它:
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:validation="http://schemas.microsoft.com/winfx/2006/ololo"
mc:Ignorable="validation"
然后在代码中:
[assembly: XmlnsDefinition("http://schemas.microsoft.com/netfx/2007/xaml/
ololo", "SuperOlolo")]
你可以随意使用这个命名空间:
<validation:ValidationSummary Style="{StaticResource ValidationSummaryStyle}"
Width="300" />
这将提供一个清晰的构建。
设计器使用此方法读取设计时属性。
我不知道它是否能提供你在运行时需要的一切,也许有一些技巧可以帮助你。
至少可以使用包装器接口/类使想要在XAML中访问的成员可见。