标签: c++-cx

WinRT反射(C++/CX)

如何在C++/CX中内省对象?我知道如何获取它的类名(使用IInspectable),但如果我只有一个方法的名称(字符串),我无法弄清楚如何获取其属性列表或如何调用方法.我在这里和谷歌搜索了一个答案,但我发现的是与WinRT的.NET层有关(System.Reflection命名空间似乎在C++/CX中不可用).

reflection introspection windows-runtime c++-cx

4
推荐指数
1
解决办法
2653
查看次数

WinRT XAML - 托管和非托管 - 它是如何工作的?

这是关于新的WinRT API以及针对它的语言(直接或间接)以及它们与XAML的关系,我不明白.

  1. .NET语言(C#,VB.Net,F#)可用于构建在"api限制"CLR上运行的XAML Metro应用程序,后者又在WinRT上运行
  2. C++可用于构建直接在WinRT API之上运行的非托管XAML应用程序

我的问题是 - 方案1中的XAML是否转换为BAML,然后转换为MSIL(根据传统的.NET应用程序),或者是否有新的机制?如果没有,那么构建非托管应用程序的编译器如何将相同的XAML转换为本机指令?这两种方案是否可以使用相同的编译策略解决?如果是这样,那怎么样?

c++ clr xaml windows-runtime c++-cx

4
推荐指数
1
解决办法
1549
查看次数

C++/CX迭代Map <String ^,Object ^> ^的方式?

我有一个类型的对象Map<String^, Object^>^.如何以C++/CX方式迭代?我试图使用迭代器,但我不清楚语法.文档没有提供示例.

windows c++-cx windows-store-apps

4
推荐指数
1
解决办法
2421
查看次数

在Metro C++中将图像从内容加载到StorageFile ^

我正在尝试使用Share Charm在Windows 8 Metro C++应用程序中共享图像.为此,我需要先将图像加载到StorageFile ^.我认为它应该看起来像:

create_task(imageFile->GetFileFromPathAsync("Textures/title.png")).then([this](StorageFile^ storageFile)
    {
        imageFile = storageFile;
    });
Run Code Online (Sandbox Code Playgroud)

其中imageFile在头文件中定义

Windows::Storage::StorageFile^ imageFile;
Run Code Online (Sandbox Code Playgroud)

这个实际的代码会抛出这个例子

An invalid parameter was passed to a function that considers invalid parameters fatal.
Run Code Online (Sandbox Code Playgroud)

这似乎非常简单,但是关于在Metro中共享的文档很少,并且唯一的Microsoft示例显示了如何使用FilePicker进行共享.

如果有人知道如何正确地做到这一点,将非常感激.

c++ windows-8 windows-runtime c++-cx windows-store-apps

3
推荐指数
1
解决办法
5647
查看次数

WinRT - 没有静态构造函数?

我目前正在用c ++编写一些WinRT自定义控件,我的编译器/ intellisense告诉我不允许使用静态构造函数.

我需要设置一些静态数据,并且我可以使用私有bool实例标志,并且在我的类的第一个实例化中,我可以创建静态数据等.(有效地实现相同的事情).

但是,也许我错过了一些东西,因为这看起来有点啰嗦.

在WinRT/c ++中,静态构造的规范替代方法是什么?

谢谢

c++ windows-8 windows-runtime c++-cx

3
推荐指数
1
解决办法
1930
查看次数

在源代码中是否有预定义的#define或其他方式来为C++/CX Windows Runtime编译?

Visual Studio 2012(及更早版本)提供预定义的#defines,以便适当地#ifdef ed源代码,请参阅http://msdn.microsoft.com/en-us/library/b0084kay.aspx

我想#ifdef一些C++代码,如果它正在编译(或不编译)为Windows 8运行时(运行时C++/CX的组件扩展),即使用编译器开关/ ZW,请参阅http://msdn.microsoft.com /en-us/library/hh561383.aspxhttp://msdn.microsoft.com/en-us/library/xey702bw.aspx

检查C++或CLR编译分别由__cplusplus和__cplusplus_cli(或__CLR_VER)提供,但似乎没有#ifdef for C++/CX/Zw Windows Runtime编译的方法!?

有谁知道吗?谢谢

c++ c++-cli visual-c++ c++-cx

3
推荐指数
1
解决办法
856
查看次数

如何将C++/CX库添加到目标任何CPU的Windows应用商店解决方案中

所以我有一个使用C#定位任何CPU的Windows应用商店应用,这样单个应用就可以在任何Windows 8 x86/x64台式机/平板电脑或ARM平板电脑上运行.我需要在C++中添加一些特殊代码,它们似乎没有选择以任何CPU为目标.代码将在x86/x64上编译和运行,如果我将整个解决方案更改为ARM,它将编译并在那里运行.所以我正在寻找一种方法来制作C++目标任何我认为可能不可能的CPU.或者多次编译C++库(x86,x64和ARM)并将所有这些库都包含在appx包中.我花了大约3个小时在C++/CX上阅读Windows Store开发文档,但还没有找到任何方法.当然我会继续寻找,但我希望其他人已经看到了如何做到这一点,并能指出我正确的方向.

xaml windows-runtime c++-cx windows-store-apps

3
推荐指数
1
解决办法
949
查看次数

我什么时候应该在C++/CX中使用ref类?

我涉水回到C++世界的一个项目,而在C++/CX花费了大量的时间与C#和新的东西之间,我有点生疏了.

什么时候适合使用ref classC++/CX中引入的类型?

内置的引用计数句柄似乎很好,似乎是尽可能使用ref类的一个很好的理由(忽略可移植性问题).但是,我不确定这些类型是否增加了额外的开销?或者,如果还有其他原因限制其使用?

windows-runtime c++-cx

3
推荐指数
1
解决办法
1809
查看次数

是否可以在Windows运行时for Windows Phone中创建一个未密封的基础ref类?

是否可以在Windows运行时的Windows Phone 8变体中创建基类,其他公共引用类可以使用?

对于Windows应用商店应用,MSDN记录了一种方法(见下文).

然而,这依赖于Windows::UI::Xaml::DependencyObject允许未密封的基类.

由于Windows Phone 8没有C++/XAML编程功能,因此该类不可用.您不能创建在公共引用类中可见的顶级对象,因为这会给出编译器警告.

是否有其他合适的基类可以在Windows Phone 8中使用而不是代替Windows::UI::Xaml::DependencyObject

namespace InheritanceTest2 
{
    namespace WFM = Windows::Foundation::Metadata;

    // Base class. No public constructor.
    [WFM::WebHostHidden]
    public ref class Base : Windows::UI::Xaml::DependencyObject 
       // DependencyObject NOT AVAILABLE ON WP8!
    {
    internal:
        Base(){}
    protected:
        virtual void DoSomething (){}
        property Windows::UI::Xaml::DependencyProperty^ WidthProperty;
};

// Class intended for use by client code across ABI.
// Declared as sealed with public constructor.
public ref class MyPublicClass sealed : Base
{ …
Run Code Online (Sandbox Code Playgroud)

windows-runtime c++-cx windows-phone-8

3
推荐指数
1
解决办法
864
查看次数

3
推荐指数
1
解决办法
1166
查看次数