gpt4 book ai didi

visual-studio - 如何在 Visual Studio 中使用 XAML 2009 作为设计数据?

转载 作者:行者123 更新时间:2023-12-04 05:57:55 26 4
gpt4 key购买 nike

我有一个 xaml 文件,我想将其用作 DesignData(具有设计时可创建类型)。我也想在其中使用 XAML 2009 功能,但是 Visual Studio 似乎不接受它,提示我想使用的属性在目标命名空间中不存在。

这是我的 xaml 文件的样子:

<my:ViewModel 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"
xmlns:my="clr-namespace:MyCompany"
>
<my:ViewModel.ViewCollection>
<!-- That part does not work, because it tells me that FactoryMethod and Arguments could not be found in the namespace for prefix 'x'. -->
<my:BusinessObjectView x:FactoryMethod="my:BusinessObjectView.Convert">
<x:Arguments>
<my:BusinessObject />
</x:Arguments>
</my:BusinessObjectView>
</my:ViewModel.ViewCollection>
<my:ViewModel.BoCollection>
<!-- Even though the x:TypeArguments syntax for defining objects only appears in XAML 2009, that part works fine - probably because the TypeArguments attribute already existed in that namespace. -->
<scg:List x:TypeArguments="my:BusinessObject">
<my:BusinessObject />
</scg:List>
</vm:ViewModel.BoCollection>
</my:ViewModel>

下面是 XML 项目文件中描述构建操作的片段:

<DesignDataWithDesignTimeCreatableTypes Include="Path/To/File.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</DesignDataWithDesignTimeCreatableTypes>

那么,问题是什么?它是 namespace 前缀吗? (在这种情况下,我应该为 XAML 2009 使用哪一个?)是构建 Action 吗?我的整个方法有缺陷吗?

最佳答案

“松散 XAML 文件”是一个与 XAML 2009 概念正交的概念。松散 XAML 文件是在运行时加载的纯 XAML(无代码隐藏)文件。 http://wpf.2000things.com/2010/10/20/100-loose-xaml-files/XAML 2009 是 XAML 语言的一个版本和一组相应的架构。

要使 .xaml 文件“松散”,您只需停止编译它(在文件属性中)。要加载松散的 .xaml 文件,您需要使用 XamlReader.Load 方法 http://msdn.microsoft.com/en-us/library/system.windows.markup.xamlreader.load.aspx http://www.c-sharpcorner.com/uploadfile/37db1d/understanding-uncompiled-xaml-to-design-dynamic-ui-in-wpf/奇怪的是,XAML2009 文件似乎仍在使用 2006 架构。

关于visual-studio - 如何在 Visual Studio 中使用 XAML 2009 作为设计数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5699933/

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