1.创建新项目(Blank App)
2.建好之后会自动生成一些文件
MainPage.xaml: 应用程序的主界面
XML: 可扩展标签语言 由标签 属性组成的东西
XAML: 可扩展应用标签语言
3.MainPage.xaml的默认代码
<Page 黄色两句有用
x:Class="BlankApp1.MainPage" BlankApp1名字空间/ MainPageC++文件的名字
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 呈现技术
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xaml格式版本什么的
xmlns:local="using:BlankApp1" 默认本地名字空间
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" (没啥用)
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"(没啥用)
mc:Ignorable="d">忽略掉d空间
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button x:Name="myButton" Click="ClickHandler">Click Me</Button>
</StackPanel> 绿色这段默认的 (删除后自写)
</Page>
4.关于按钮的一些小例子
(1)排列
VerticalAlignment 垂直排列
四种选项:Center居中 Top靠上 Bottom靠下 Strectch铺满
HorizontalAlignment 水平排列
四种选项:Center居中 Left靠左 Right靠右 Strectch铺满
例:(按钮整个铺满)
<Button Content="Test Button" VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"/>
(2)窃听事件Button_Tapped
两种创建方法:
[1]直接敲代码Tapped=“Button_Tapped”,光标选中Button_Tapped按下F12编辑对应事件函数
[2]光标选中Button打开属性面板(找不到可以在右上角搜索框搜索属性),点击小闪电按钮(也就是选定元素的事件处理程序),找到Tapped,在编辑框敲入函数名,按下回车编辑对应事件函数
例:(点击按钮出现文本)
void winrt::BlankApp1::implementation::MainPage::Button_Tapped(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Windows::UI::Xaml::Input::TappedRoutedEventArgs const& e)
{
if (auto btn = sender.try_as<Windows::UI::Xaml::Controls::Button>())
btn.Content(box_value(L"test"));
}
IInspectable:
继承自IIUnknown接口的一种接口,提供所有 Windows 运行时类所需的功能。
TappedRoutedEventArgs:
为窃听事件提供事件数据的一种类
Windows::UI::Xaml::Controls::Button:
表示解释单击用户交互的模板化按钮控件。
auto btn = sender.try_as<Windows::UI::Xaml::Controls::Button>()
这个东西大概就是获取一下按钮控件给这个btn,try_as貌似是IIUnknown接口里的一个函数
box_value:(装箱)
一种函数模板,它将标量或数组值包装(或装箱)到引用类对象中,以便将其传递给需要IInspectable的函数。通过使用winrt::box_value函数,不仅可以装箱标量值,还可以装箱大多数类型的数组(枚举数组除外)。
btn.Content(box_value(L"test"));
这个大概就是修改按钮的文本为装箱得到的字符串test