привязка содержимого фрейма uwp

У меня проблема с привязкой. У меня есть сетка, и я хочу отобразить в ней фреймы. Кадры должны отображать страницы, которые хранятся в векторе ItemsSource. Но почему-то это не отображается.

статически жестко это работает:

XAML

<Frame x:Name="testFrame"/>

C ++

testFrame->Content = ref new TrainPanel;

Теперь я добавил вектор на свою главную страницу и сохранил там TrainPanel:

час

Vector<Platform::Object^>^ m_frameList;

C ++

m_frameList->Append(ref new TrainPanel);
panelGrid->ItemsSource = m_frameList;

XAML

    <GridView x:Name="panelGrid" HorizontalAlignment="Center" Grid.Row="1" MaxWidth="{Binding width}" IsItemClickEnabled="False">
<GridView.ItemTemplate>
<DataTemplate>
<Frame x:Name="templateFrame" Content="{Binding Object}" Height="693" Width="Auto"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>

и у моего TrainPanel есть свойство под названием Object:

#pragma once

#include "TrainPanel.g.h"#include "TrainManager.h"#include "Train.h"#include "MainPage.xaml.h"
namespace TrainControl
{
/// <summary>
/// Eine leere Seite, die eigenständig verwendet werden kann oder auf die innerhalb eines Rahmens navigiert werden kann.
/// </summary>
[Windows::Foundation::Metadata::WebHostHidden]
public ref class TrainPanel sealed
{
public:
TrainPanel();

virtual ~TrainPanel();

property Windows::Foundation::Collections::IObservableVector<Platform::Object^>^ TrainList
{
Windows::Foundation::Collections::IObservableVector<Platform::Object^>^ get()
{
if (m_trainList == nullptr)
m_trainList = ref new Platform::Collections::Vector<Platform::Object^>();
return m_trainList;
}
}

property Platform::Object^ Object
{
Platform::Object^ get() { return this; }
}

private:
Platform::Collections::Vector<Platform::Object^>^ m_trainList;
Train^ m_currentTrain;
bool m_sliderHolding;

private:
void closePanel_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);

void ctNameCombo_DropDownOpened(Platform::Object^ sender, Platform::Object^ e);
void ctNameCombo_SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);

void ctSlider_ValueChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs^ e);
void ctSlider_ManipulationStarted(Platform::Object^ sender, Windows::UI::Xaml::Input::ManipulationStartedRoutedEventArgs^ e);
void ctSlider_ManipulationCompleted(Platform::Object^ sender, Windows::UI::Xaml::Input::ManipulationCompletedRoutedEventArgs^ e);

void ctChangeDirection_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
void ctSounds_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
};
}

Но это не работает. Страница не отображается.
Есть идеи, почему не работает привязка ??

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]