C++:[UWP] [C++/CX] Не удается получить доступ к XAML UI из коде
#include "pch.h"
#include "MainPage.xaml.h"
using namespace Testing;
using namespace Platform;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Controls::Primitives;
using namespace Windows::UI::Xaml::Data;
using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Navigation;
MainPage::MainPage()
{
InitializeComponent();
}
void Testing::MainPage::Page_SizeChanged(Platform::Object^ sender,Windows::UI::Xaml::SizeChangedEventArgs^ e)
{
SplitPane->isPaneOpen = !SplitPane->isPaneOpen; //LEGAL
}
void test()
{
SplitPane->isPaneOpen = !SplitPane->isPaneOpen; //NOT LEGAL
}
XAML:
<Page
x:Class="Testing.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Testing"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
SizeChanged="Page_SizeChanged">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<SplitView Name="SplitPane">
</SplitView>
</Grid>
Так что мой вопрос, почему я не могу использовать ссылку или скорее найти ссылку SplitView в моей функции? и есть ли решение? Мне кажется, что это уродство, чтобы передать SplitPane как параметр P.S. in C# test() полностью легально
C++ и C++/CLI не то же самое. Я обновил тег, но помните, как вы помечаете свои сообщения. –