Dan*_*aum 5 xaml visual-studio winrt-xaml c++-winrt
有各种相关问题提示如何将新的 XAMLPage正确添加到 Visual Studio 中的 WinRT/C++ 项目,但没有一个特定于 C++/WinRT。(即,这里,这里,和这里。)
此外,尽管 WinRT/C++ 比 C++/CX 有了很大的改进(在我看来),但几乎所有 Microsoft 文档都使用 C# 或 C++/CX 作为示例。
更糟糕的是,截至本文发布之日,当您使用 Visual Studio 中的“添加项”功能添加 XAML 时Page,它会使用 C++/CX 创建页面,即使对于 WinRT/C++ 项目也是如此。
最后,(截至目前)Microsoft 没有提供有关如何将新 XAML 添加Page到 WinRT/C++ 项目的文档,至少我可以找到(请参阅第一段)。
啊。
为了节省其他人的时间,我将提示拼凑在一起,并成功地将新的 XAML 正确添加Page到 Visual Studio WinRT/C++ 项目中。
我正在询问并回答以下问题:如何将新的 XAML 添加Page到 Visual Studio 中的 WinRT/C++ 项目?
附录
我错过了显而易见的事情!事实证明,您可以使用 Visual Studio 轻松添加 WinRT/C++ XAML Page。尽管我(认为)尽可能仔细地观察。
答案 #2 给出了(简单的)正确答案。
但我会保留这个问题并回答- 以防其他人犯同样的错误并且找不到Page在 Visual Studio 中的 WinRT/C++ 中添加 XAML 的选项。
为了节省其他人的时间,我将提示拼凑在一起,并成功地将新的 XAML 正确添加Page到 Visual Studio WinRT/C++ 项目中。
这就是答案。
图片胜过千言万语,因此步骤如下。
.vcxproj和文件.vcxproj.filtersMainPage.xaml及其关联文件.idl和代码隐藏文件。在以下步骤中,我们将创建一个新的 XAML 页面及其名为LoginPage.LoginPage- 我们将在最后的步骤中执行此操作。现在只需编辑.vcxproj和文件。.vcxproj.filtersMainPage并将其修改为读取LoginPage..vcxproj文件块 1LoginPage.cpp : -LoginPage.xaml关系的代码隐藏依赖
我们从这个开始:
...修改块以添加 的 部分LoginPage,结果如下:
块 2LoginPage.h : -LoginPage.xaml关系的代码隐藏依赖
我们从这个开始:
...修改块以添加 的 部分LoginPage,结果如下:
第 3 部分:让 Visual Studio 知道使用设计器LoginPage.xaml(我认为!)
我们从这个开始:
...修改块以添加 的 部分LoginPage,结果如下:
块 2LoginPage.idl : -LoginPage.xaml关系的代码隐藏依赖
我们从这个开始:
...修改块以添加 的 部分LoginPage,结果如下:
.vcxproj.filters文件第 1 部分:告诉 Visual Studio 包含LoginPage.xaml在解决方案资源管理器中(我认为!)
我们从这个开始:
...修改块以添加 的 部分LoginPage,结果如下:
第 2 部分:告诉 Visual Studio 包含LoginPage.idl在解决方案资源管理器中(我认为!)
我们从这个开始:
...修改块以添加 的 部分LoginPage,结果如下:
第 3 部分LoginPage.cpp:告诉 Visual Studio作为该项目的一部分进行编译(我认为!)
我们从这个开始:
...修改块以添加 的 部分LoginPage,结果如下:
.vcxproj和.vcxproj.filters文件的编辑。保存并关闭它们。LoginPage只需复制文件即可创建所有四个文件MainPage。我们从项目中的这些文件开始:
...复制 4 个(突出显示的)MainPage文件并将它们重命名为后LoginPage,我们最终得到以下文件:
对于最后一步,您必须在文本编辑器(不是 Visual Studio)中实际打开四个新LoginPage文件中的每一个,并对文本进行搜索和替换,并将.MainPageLoginPage
在搜索中,请匹配大小写,但不要匹配“仅整个单词”(即,有一些数据类型作为MainPage名称的一部分,例如MainPageT,并且这些数据类型也必须被搜索和替换) 。
我不会通过粘贴实际源代码文件的屏幕截图来让您感到厌烦。
将四个文件中所有出现的 替换为 后,保存并关闭该文件MainPage。LoginPage
在 Visual Studio 中打开解决方案,您会注意到它的美妙之处:
解决方案资源管理器现在显示我们的LoginPage.xaml文件及其代码隐藏文件,正确嵌套:
...并按 F7 构建项目会导致成功构建:
...并且它也成功运行 - 与之前的情况没有变化。
当然,这是因为您还没有做任何事情LoginPage-它不会出现在您的用户界面中 - 但它可以在代码中使用,我会让您从这里获取它!
尽管我很感激 Microsoft 发布了出色的 WinRT/C++ 功能 - 至少可以说,这相当……令人沮丧……截至目前,还没有办法向 WinRT/C++添加新的 XAMLPageAdd Item据我所知,使用 Visual Studio 标准工具(例如选项)的项目。更令人沮丧的是,也没有任何文档解释如何做到这一点(我可以找到)。
我当然希望我的问题和答案很快变得无关紧要,并且微软添加了工具和文档。添加新的 XAMLPage到 Visual Studio 中的现有 WinRT/C++ 项目。
或者也许我错了?也许已经可以轻松做到这一点,但我只是找不到它?
不过,我希望这对某人有帮助,以防万一!
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |