0
A
回答
0
使用窗口的OnSizeChanged事件,
,做這樣的:
//get Screen's Width, Height
private double screenHeight = SystemParameters.FullPrimaryScreenHeight;
private double screenWidth = SystemParameters.FullPrimaryScreenWidth;
private void MultiToolWindow_OnSizeChanged(object sender, SizeChangedEventArgs e)
{
//when window RightBoundary over screen
if (this.Left + this.Width > screenWidth)
this.Width = screenWidth-this.Left; //shrink the width
//when window DownBoundary over screen
if (this.Top + this.Height > screenHeight)
this.Height = screenHeight-this.Top; //shrink the height
}
注意,使用這個時候,窗口的SizeToContent屬性應該是在手冊,
如果不是,
,你可以這樣改:
public void SomeMethod(){
//set to manual, this will invoke OnSizeChangedEvent at the same time but the shrink code won't work
this.SizeToContent = SizeToContent.Manual;
//this will invoke OnSizeChangedEvent and because now is manual the shrink code works
this.SizeToContent = SizeToContent.Manual;
}
做兩次,以確保在窗口的原始SizeToContent狀態WidthAndHeight生效過,
第一時間將其設置爲手動和收縮的代碼不會拿效果,
第二次導致狀態爲手動,因此縮水代碼將生效。
相關問題
- 1. 防止孩子走出屏幕邊界
- 2. Silverlight窗口邊界
- 3. OpenGL檢查屏幕邊界
- 4. Android libgdx bouncy屏幕邊界
- 5. pygame中的窗口邊界
- 6. 更改窗口的邊界
- 7. 保持屏幕邊界內的javafx窗口
- 8. WPF窗口邊界問題
- 9. 無邊界窗口monogame
- 10. ncurses.h確定窗口邊界
- 11. CEF 3無邊界窗口
- 12. Eclipse 4 - 無邊界窗口
- 13. 確保WPF窗口在屏幕邊界內
- 14. WPF無邊界窗口只是最大化主屏幕大小
- 15. 無邊界窗體邊緣
- 16. 保持SKSpriteNode在屏幕的邊界
- 17. 與屏幕邊界相交的線條
- 18. CSS - 三角邊界屏幕的100%
- 19. 防止窗口被拖過屏幕邊緣
- 20. Windows屏幕邊界與雙顯示器
- 21. 檢查屏幕邊界在VGA圖形
- 22. 鉗位節點到屏幕邊界
- 23. 使塊與屏幕邊界碰撞
- 24. Kindle:更改屏幕邊界/分辨率
- 25. ExtJS的4.2 - 刪除窗口的邊界?
- 26. 防止Fabric JS對象可見邊界
- 27. WPF:防止邊界厚度縮放
- 28. Linux上的無邊界窗口
- 29. 邊界的窗口與陰影
- 30. WPF無邊界窗口的DropShadow