wpf - 如何使 XmlnsDefinition 在本地程序集上工作?

标签 wpf xaml

我已经开始使用 XmlnsDefinition 属性将一些 CLR 命名空间结合到一个单一的 xmlns 中,以便在 XAML 中使用。

不幸的是,这似乎只在使用外部程序集时有效。如果我在与我从 XmlnsDefinition 引用的命名空间中的类型相同的程序集中有一个 XAML 文件,那么编译器会给出关于我定义的 xmlns 中不存在的类型的错误。

将类型移动到外部程序集可以解决此问题。

有没有办法在程序集上使用 XmlnsDefinition 并通过 XAML 在该程序集中使用它?

最佳答案

抱歉不行。必须在构建程序集之前分析 XAML 文件,以便生成要包含在程序集中的 XAML 隐含的代码。 XAML 编译器生成代码隐藏文件(例如以 .g.cs 结尾的文件),然后这些文件成为包含 XAML 文件的程序集的一部分。由于程序集尚未构建,XAML 编译器无法加载它以确定已指定 XmlnsDeclaration 属性。

关于wpf - 如何使 XmlnsDefinition 在本地程序集上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2760504/

相关文章:

c# - 尝试生成大量以 mysql 数据库内容作为源的组合框时遇到问题

c# - 带有 ObservableCollection<T> 和动态过滤器的 Silverlight ListBox

WPF DataGridRow.IsNewItem 即使在 DataGridRow.Item 不是 CollectionView.NewItemPlaceholder 之后仍保持为真

c# - 如何将文本 block 动态添加到页面?

c# - 使用 MVVM 在一个 WPF 事件中多次观察属性更改?

wpf - GridSplitter 未正确分割

c# - 如何在 WPF 中捕获从子组件到父组件的激活命令?

c# - 将数据绑定(bind)/设置源到我的 DataGrid [WPF] 的正确方法是什么

c# - 在 WPF 中使用超链接的示例

c# - WPF 更改聚焦的文本框背景颜色