1. <Button
  2. Margin="0,20,0,0"
  3. HorizontalAlignment="Center"
  4. Click="Button_Click"
  5. Name="MyButton" IsEnabled="False">
  6. <StackPanel>
  7. <TextBlock Text="点我"
  8. HorizontalAlignment="Center"
  9. FontWeight="Bold" FontSize="24"></TextBlock>
  10. <TextBlock Text="这是一个特殊的按钮"></TextBlock>
  11. </StackPanel>
  12. </Button>
  13. <Button
  14. Content="恢复触发"
  15. Click="Button_Click_1"
  16. Margin="0,20,0,0"
  17. HorizontalAlignment="Center"
  18. />

image.png

按钮事件的建立

<Button></Button> 就是按钮组件,而上边的文字属性为为contant,比如Content="恢复触发" 在两个button中间可以插入一个StackPanel,这样就可以内部文字排版,点击按钮需要点击事件触发 Click=”Button_Click” 默认ide会帮你新建一个
image.png
之后在MainWindow内就会出现这个事件对应的函数

  1. private void Button_Click(object sender, RoutedEventArgs e)
  2. {
  3. //// 创建MessageDialog
  4. //MessageDialog tipDialog = new MessageDialog("云之幻最帅!");
  5. //// 异步显示对话框
  6. //await tipDialog.ShowAsync();
  7. ishelloword = !ishelloword;
  8. if (ishelloword )
  9. {
  10. MessageBox.Show("你好,世界转换为HelloWorld", "点我");
  11. MyTextBlock.Text = "Hello World";
  12. }
  13. else
  14. {
  15. MessageBox.Show("HelloWorld转换为你好,世界","点我");
  16. MyTextBlock.Text = "你好,世界";
  17. }
  18. }
  19. private void Button_Click_1(object sender, RoutedEventArgs e)
  20. {
  21. //var dialog =new ContentDialog();
  22. //dailog.primaryButtonText ="yo!";
  23. //awit dialog.showasync();
  24. MyButton.IsEnabled = bool.Parse("True");
  25. //bool.Parse()是bool类型提供的静态转换方法,旨在把string类型表示的true和false转变为bool类型
  26. }
  27. }

IsEnabled=”False” 是按钮是否被开启,当他在MainWindows中需要将字符串转换为布尔才能正确使用 MyButton.IsEnabled = bool.Parse(“True”); 使用bool.parse转换,这样上边的按钮就会变成可以触发的状态。
image.png
因为要hello world和你好世界进行来回转换,所以需要if()处理,一般情况防止写错机会建立一个私有变量。判断的时候据判断私有变量即可。

public partial class MainWindow : Window
    {
        private bool ishelloword = true;
}

MessageBox.Show("HelloWorld转换为你好,世界","点我");用来显示弹窗的,()内分别是弹窗的内同和弹窗的标题
image.png
image.png
点完确定hello world 就变成你好世界了
Name="MyButton"Name="MyTextBlock"就是给控件署名用来在MainWindows中调用的

关于async/await

async/await是一对关键字,焦不离孟,孟不离焦。它们就是鼎鼎大名的异步关键字,也是C#为人称道的一个语言特性。但由于 //MessageDialog tipDialog = new MessageDialog("云之幻最帅!"); 这个库调用的是WIndowsUI的库,Wpf没有这个。

using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;