wpf=windows presentation foundation
官方文档
https://learn.microsoft.com/zh-cn/dotnet/api/?view=net-7.0
一:WPF窗口设置为透明
在wpf中要将窗口设置为透明,除了将窗口背景色的Alpha分量设置为0以外,你还必须将窗口的AllowsTransparency属性设置为true。
![](https://i-blog.csdnimg.cn/blog_migrate/5a2e6653ba15bd1cd4a9d34852d35353.png)
二:WPF xaml注释
<!--注释样式-->
三:WPF 窗口置顶
一般我们这样设置窗口置顶
<Window Topmost="True"></Window>
四:修改label Conent的值
1:设置label name属性。
<!--注释样式-->
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
<Label Name="lbWen" Content="08:00:00" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="48" FontWeight="Bold" Foreground="Red"/>
</Grid>
2:cs中设置值。
lbWen.Content= "jajajj";
四:使用.net 6.0框架的WPF应用如何引用System.Windows.Forms这个dll(转载)
https://www.cnblogs.com/gisoracle/p/16967203.html
五:控件。
1:Label 标签
a:命名
![](https://i-blog.csdnimg.cn/blog_migrate/512385b755f4572b5bb016efdf4e9a03.png)
b:动态修改文本类容。
![](https://i-blog.csdnimg.cn/blog_migrate/7af3417c8f8126a87a06cf51b91e1dfb.png)
2:TextBlock 文本块
![](https://i-blog.csdnimg.cn/blog_migrate/ebc157564aa628e24a76376565e1b334.png)
![](https://i-blog.csdnimg.cn/blog_migrate/45a85d65d7627bc45cd186bc4ea8ea37.png)
3:Button 按钮
![](https://i-blog.csdnimg.cn/blog_migrate/41fd46a409d2cd792fe5c267650ac548.png)
a:button定义点击事件。
先设置Click参数,然后按F12,会自动生成函数。
![](https://i-blog.csdnimg.cn/blog_migrate/37da00a24b2329f7f1771b008001e0af.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7ad4f43484a31f71ee633f833defd1ad.png)
b:button鼠标移动事件。
MouseMove="Button_MouseMove"
![](https://i-blog.csdnimg.cn/blog_migrate/ac8e905ca3b11c123fbd326324f1ce98.png)
c:button设置背景颜色。
btn1.Background = new SolidColorBrush(Colors.Red);
4:Border 绘制边框
在另外一个元素的四周绘制边框或者背景。
![](https://i-blog.csdnimg.cn/blog_migrate/6fbc59285ebb504c2ce3078e85f420bc.png)
4:RadioButton 单选
<Grid>
<Label x:Name="wenhuaL" Content="这是显示的内容" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="515,195,0,0" TextWrapping="Wrap" Text="asdfasdfa" VerticalAlignment="Top">
我是文本1<LineBreak/>
我是文本2
我是文本3
</TextBlock>
<Button Content="Button" x:Name="btn1" HorizontalAlignment="Left" Margin="357,276,0,0" VerticalAlignment="Top" Background="#FFBB7373" Height="34" Width="93" Click="wenhua" MouseMove="Button_MouseMove" />
<Border BorderBrush="#FFC32222" BorderThickness="10">
</Border>
<RadioButton Content="Radio1" Margin="10,25,-10,-25"/>
<RadioButton Content="Radio1" Margin="100,25,-10,-25"/>
<RadioButton Content="Radio1" Margin="200,25,-10,-25"/>
<RadioButton Content="Radio1" Margin="300,25,-10,-25"/>
</Grid>
四个只能选一个。
![](https://i-blog.csdnimg.cn/blog_migrate/50cf0252d077da54f799ed7052eeaedc.png)
上面前两个为一组,后两个为一组。上级标签为同一组。
<RadioButton GroupName="nama1" Content="Radio1" Margin="0,45,-10,-25"/>
<RadioButton GroupName="nama1" Content="Radio1" Margin="100,45,-10,-25"/>
<RadioButton GroupName="nama1" Content="Radio1" Margin="200,45,-10,-25"/>
<RadioButton GroupName="nama1" Content="Radio1" Margin="300,45,-10,-25"/>
或者 GroupName为同一组。
![](https://i-blog.csdnimg.cn/blog_migrate/fd627d4b6fc6f281624b10393c162f95.png)
![](https://i-blog.csdnimg.cn/blog_migrate/815e2b33bf8fd047e0eac0e11b78716f.png)
5:CheckBox 多选
![](https://i-blog.csdnimg.cn/blog_migrate/ec7e27e3151b02d97a9f532557c3ff41.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5ed8d285dff1fb7e5eda0eca22b51169.png)
六:属性。
1:x:Name
修改空间名字,以便程序中调用。
![](https://i-blog.csdnimg.cn/blog_migrate/225dea73794d0d76c694ea5339e60df3.png)
2:HorizontalAlignment
![](https://i-blog.csdnimg.cn/blog_migrate/5768a7a4c85432d9d61cb47e2226465c.png)
水平对齐方式
3:VerticalAlignment
![](https://i-blog.csdnimg.cn/blog_migrate/5c1fe2462042a38c98f8840ee86aac9b.png)
垂直对齐方式
4:Margin
边距,四个值为左上右下
![](https://i-blog.csdnimg.cn/blog_migrate/e534ed4b30e85dfae10bb2040ea86a6e.png)
5:Background
设置背景
![](https://i-blog.csdnimg.cn/blog_migrate/580b481586eebebf99d8d884e1d78a70.png)
6:Height,Width
设置宽高
![](https://i-blog.csdnimg.cn/blog_migrate/ad7e25bacc437def7a02dd7a7694fd83.png)
七:弹窗。 MessageBox.Show("按钮被点击了");
![](https://i-blog.csdnimg.cn/blog_migrate/6f78e59b4eb63326be07480320e2e964.png)
八:布局。 Grid和StackPanel;
1:Grid默认是重合的。stackpanel默认会依次排列。
2:自定义行。
<Window x:Class="Wpf0721.Window1New"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Wpf0721"
mc:Ignorable="d"
Title="Window1New" Height="450" Width="800">
<Grid ShowGridLines="True"> <!-- 显示边界 -->
<Grid.RowDefinitions> <!-- 定义行 -->
<RowDefinition>
</RowDefinition>
<RowDefinition>
</RowDefinition>
<RowDefinition>
</RowDefinition>
<RowDefinition>
</RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<!--列定义方法-->
<ColumnDefinition>
</ColumnDefinition>
<ColumnDefinition>
</ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="1" Grid.Column="0">
<Button Content="Button" />
</StackPanel>
</Grid>
</Window>
九:按比例分配 “1*”;*相加为总比例。
<Grid.ColumnDefinitions>
<!--列定义方法-->
<ColumnDefinition Width="1*">
</ColumnDefinition>
<ColumnDefinition Width="5*">
</ColumnDefinition>
</Grid.ColumnDefinitions>
教程:
1:2022年WPF入门教程详解,适合新手上路
![](https://i-blog.csdnimg.cn/blog_migrate/68fbdf461eb86810f9e0ec5001f9ec7b.png)
2:【WPF入门教程 Visual Studio 2022】WPF界面开发入门
https://www.bilibili.com/video/BV13D4y1u7XX?p=4&vd_source=dd4795916fd6c08bb59ae5fea830857f
![](https://i-blog.csdnimg.cn/blog_migrate/5a9cbc97a0235fc0ea8fdf3500853392.png)