在不使用XAML的情况下向标题栏添加按钮

时间:2015-10-14 17:28:28

标签: c++ xaml windows-10

我有一个从MSVC模板" DirectX 11 App(通用Windows)" 创建的C ++ Windows 10应用程序。现在,我的应用程序没有任何.xaml文件。我想在标题栏中添加一个按钮。对应Windows Universal App Fullscreen Button,我必须添加类似

的内容
CoreApplication::GetCurrentView()->TitleBar->ExtendViewIntoTitleBar = true;
Window::Current->SetTitleBar(myTitleBar);

其中myTitleBar属于班级Windows::UI::Xaml::UIElement

问题是如何创建myTitleBar。我是否必须使用" Fullscreen"创建一个定义标题栏的xaml。按钮(以及如何集成它)?或者也许可以纯粹用C ++做到这一点?或者我必须使用另一个模板" DirectX 11和XAML App(通用Windows)" 重建我的应用程序?

2 个答案:

答案 0 :(得分:0)

如果你想纯粹通过DirectX实现你的应用程序,那么你需要自己绘制按钮和文本,以及实现一些基本的"碰撞检测"检测用户按下鼠标按钮时是否在按钮内单击了鼠标。

但是,如果您想将XAML UI元素(如Titlebar和Button)与DirectX一起使用,则必须在XAML和DirectX之间进行互操作,最好从模板" DirectX 11和XAML App(通用Windows)开始&#34 ;. Here您可以找到有关如何使用XAML和DirectX实现应用程序的详细说明。

答案 1 :(得分:0)

在您的xaml文件中定义的

myTitleBar。 你将有一个名为myTitleBar的网格,如下所示:

<Grid Grid.Row="0" x:Name="myTitleBar" Height="32">
    <!--you can customize whatever you want else in this grid-->
</Grid>