https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/controls/?view=netframework-4.8
ClipToBounds="True" 可以裁剪超出容器的部分。
<Border HorizontalAlignment="Left" VerticalAlignment="Top" BorderBrush="Black" BorderThickness="2"> <Canvas Background="LightBlue" Width="400" Height="400"> <Button Canvas.Top="50">Canvas.Top="50"</Button> <Button Canvas.Bottom="50">Canvas.Bottom="50"</Button> <Button Canvas.Left="50">Canvas.Left="50"</Button> <Button Canvas.Right="50">Canvas.Right="50"</Button> </Canvas> </Border>
https://www.cnblogs.com/endlesscoding/
https://www.jb51.net/article/116901.htm
https://yq.aliyun.com/articles/677425
https://www.cnblogs.com/guxin/p/wpf-commandparameter-how-to-pass-multi-parameter.html?spm=a2c4e.11153940.blogcont677425.5.53fe474cXGEzS6
https://www.evget.com/article/2016/3/17/23756.html
BindableBase类提供 INotifyPropertyChanged 接口还有GetProperty 、 SetProperty方法。