[UWP][C++/CX] 无法从代码隐藏访问 XAML UI

[UWP][C++/CX] Cannot access XAML UI from codebehind

C++:

#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。在 C# 中 test() 是完全合法的

为了使用 MainPage 的私有字段,test() 必须是 MainPage class.

的方法

MainPage.xaml.h中:

public ref class MainPage sealed
{
public:
    MainPage();
    void test();
};

MainPage.xaml.cpp中:

void MainPage::test() 
{
    SplitPane->IsPaneOpen = !SplitPane->IsPaneOpen; // LEGAL
}