gpt4 book ai didi

c# - XAML 是否适用于 Visual Studio 中的文件链接?

转载 作者:行者123 更新时间:2023-11-30 18:09:07 25 4
gpt4 key购买 nike

我正在将一个新的 WPF 项目添加到现有的 Visual Studio 解决方案中,并希望在该解决方案中重用现有项目中的一堆代码(C# 和 xaml)。

我已经创建了新项目并添加了现有文件,如下所示:

  • 右键单击项目
  • 添加 -> 添加现有项
  • 找到要重复使用的文件,使用“添加”和“添加为链接”旁边的箭头

我现在有一个很好的项目,其中包含所有正确的链接。但是,XAML 会阻塞这些链接。例如:

<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
Source="Resources\Elements\Buttons\Buttons.xaml" />
<ResourceDictionary
Source="Resources\Elements\TextBox\TextBox.xaml" />
</ResourceDictionary.MergedDictionaries>

文件“Buttons.xaml”和“TextBox.xaml”作为链接存在于我的新项目中。项目构建,但当我运行时,我得到以下 XamlParseException:

'Resources\Elements\Buttons\Buttons.xaml' value cannot be assigned to property 'Source' of object 'System.Windows.ResourceDictionary'. Cannot locate resource 'resources/elements/buttons/buttons.xaml'.

似乎 XAML 解析器需要这些 XAML 文件的实际副本存在于我的新项目中,而不是链接。

这正是我要避免的。我希望我的项目共享这些文件,这样任何更改都可以转移到其他项目,而无需搜索和复制。

感谢任何见解!

最佳答案

如您所见,链接到外部 XAML 文件不会创建链接存在于项目结构中的文件。

我的建议是使用 MergedDictionaries 引用中的相关链接。如果要在另一个项目中重用的 XAML 称为 Common,则第一个嵌套 ResourceDictionary 的 Source 属性可以是:

..\Common\Resources\Elements\TextBox\TextBox.xaml

这实际上是您用来添加现有项目的路径。

关于c# - XAML 是否适用于 Visual Studio 中的文件链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2677601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com