带有 XAML 和 UWP 的 C++
C++ with XAML and UWP
很久以前我曾经使用 C++ 编写代码,现在决定重新使用它。话虽如此,我正在尝试自学一些 MS UWP 类型的应用程序,但我很难找到任何使用 C++(而不是 c#)的教程等。
我一直在试验面板,但我很难简单地显示 "flyouts"。这是我的 XAML:
<StackPanel
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<CommandBar x:Name="Primary_Command_Add"
HorizontalAlignment="Stretch">
<CommandBar.Content>
<TextBlock x:Name="Main_Menu"
Text="Main Menu"
VerticalAlignment="Top"
FontSize="18"
Margin="12"
IsDoubleTapEnabled="False"
IsHoldingEnabled="False"
IsRightTapEnabled="False"
Tapped="Main_Menu_Tapped">
<FlyoutBase.AttachedFlyout>
<Flyout>
<TextBlock Text="This should fly out" />
</Flyout>
</FlyoutBase.AttachedFlyout>
</TextBlock>
</CommandBar.Content>
</CommandBar>
</StackPanel>
我只想在单击 "Main Menu" 时显示弹出窗口。在我的 .cpp 中我有:
void Program::MainPage::Main_Menu_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
}
现在我想我应该放 "Flyoutbase.ShowFlyout" 之类的东西,但我似乎什么都做不了。
我应该去学习 C# 吗?
要在 C++ 中显示 Flyout,您可以试试这个。
void MainPage::Main_Menu_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
FlyoutBase::ShowAttachedFlyout((FrameworkElement ^)sender);
}
顺便说一下,要访问 UI 个元素作为变量,您可以添加 x:Name=""
.
XAML:
<TextBlock x:Name="My_TextBlock"/>
C++:
void MainPage::Foo()
{
My_TextBlock->Text = L"Hello, world!";
// or My_TextBlock->Text = ref new Platform::String(L"Hello, world!");
}
很久以前我曾经使用 C++ 编写代码,现在决定重新使用它。话虽如此,我正在尝试自学一些 MS UWP 类型的应用程序,但我很难找到任何使用 C++(而不是 c#)的教程等。
我一直在试验面板,但我很难简单地显示 "flyouts"。这是我的 XAML:
<StackPanel
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<CommandBar x:Name="Primary_Command_Add"
HorizontalAlignment="Stretch">
<CommandBar.Content>
<TextBlock x:Name="Main_Menu"
Text="Main Menu"
VerticalAlignment="Top"
FontSize="18"
Margin="12"
IsDoubleTapEnabled="False"
IsHoldingEnabled="False"
IsRightTapEnabled="False"
Tapped="Main_Menu_Tapped">
<FlyoutBase.AttachedFlyout>
<Flyout>
<TextBlock Text="This should fly out" />
</Flyout>
</FlyoutBase.AttachedFlyout>
</TextBlock>
</CommandBar.Content>
</CommandBar>
</StackPanel>
我只想在单击 "Main Menu" 时显示弹出窗口。在我的 .cpp 中我有:
void Program::MainPage::Main_Menu_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
}
现在我想我应该放 "Flyoutbase.ShowFlyout" 之类的东西,但我似乎什么都做不了。
我应该去学习 C# 吗?
要在 C++ 中显示 Flyout,您可以试试这个。
void MainPage::Main_Menu_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
FlyoutBase::ShowAttachedFlyout((FrameworkElement ^)sender);
}
顺便说一下,要访问 UI 个元素作为变量,您可以添加 x:Name=""
.
XAML:
<TextBlock x:Name="My_TextBlock"/>
C++:
void MainPage::Foo()
{
My_TextBlock->Text = L"Hello, world!";
// or My_TextBlock->Text = ref new Platform::String(L"Hello, world!");
}