1
  1. Winrt::Windows::Foundation::Collection 只有接口,没有具体的集合类型。

  2. 我被告知要使用 Platorm::Collections,但不确定您是如何从 Winrt::Windows::????? 获得的。我以为它只适用于 C++/Cx

3.我在 PhotoEditor 示例中复制并使用了 Observable_Vector,但在构建时出现错误,说我的向量类型没有实现 GetTrustLevel()。

  1. 如果我不能在 WInrt 中使用 Platform::Collections,这意味着目前只有一个示例说明如何将集合与 Winrt (PhotoEditor) 一起使用,这也意味着 Winrt 中的唯一具体集合是 phtotEditor 中的 Observable_Vector。

需要帮助澄清 c++-Winrt 中的集合范围。以及在使用来自 PhotoEditor 的相同 Observable_vector 时为什么会出现信任级别错误的任何帮助。

谢谢

4

1 回答 1

0

通常,您不必实现自己的集合。C++/WinRT 提供了一组帮助函数,用于创建各种常见的泛型集合类型。例如:

using namespace winrt;
using namespace Windows::Foundation::Collections;

int main()
{
    IVector<int> a = single_threaded_vector<int>({ 1,2,3 });
    IObservableMap<hstring, int> b = single_threaded_observable_map<hstring, int>();
}

还支持创建自定义集合。我在这里描述了其中一些选项:

https://kennykerr.ca/2018/05/12/cppwinrt-creating-collections-simply-efficiently/

于 2018-08-22T20:55:37.773 回答