C ++ / winRT XAML UserControl-访问其方法和属性

时间:2018-12-11 18:23:56

标签: c++-winrt

我有一个XAML页面,其中包含XAML用户控件-PageHeading.xaml。 它有一个方法:ShowErrorMessage(...) 页面中的x:Name是“ RPNHeading”

从Page的.cpp文件中,我尝试了以下两种方法;

#include "PageHeading.h"
 ...
RPNHeading().GetBindingExpression(); // FrameworkElement    
RPNHeading().ShowErrorMessage(L"Hello");

Intellisense(而不是编译器)喜欢第一个调用,而不喜欢第二个调用。

我尝试的第二种方法(已编译但运行错误:线程冲突):

PageHeading ptr;
ptr.ShowErrorMessage(L"Hello");

我的问题-拨打电话的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您是否已在idl文件中声明ShowErrorMessage函数?第一种方法需要这样做。

如果您喜欢第二种,请尝试以下代码:

PageHeading* ptr = get_self<PageHeading>(RPNHeading());
ptr->ShowErrorMessage(L"Hello");