0
我正在嘗試在WPF 4中編寫基於圖塊的遊戲。我希望遊戲板能夠縮放以適應窗口,所以我使用Viewbox;但我希望每個拼貼都位於一個清晰的像素邊界上。我可能是錯的,但我的理解是,這是新的UseLayoutRounding屬性應該是 - 但它沒有按我期望的方式工作。爲什麼UseLayoutRounding似乎不適用於Viewbox?
以下是一個演示問題的窗口:
<Window x:Class="Tyler.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="600" Height="400" Background="Black">
<Viewbox>
<Canvas Width="1000" Height="1000">
<Rectangle Canvas.Left="100" Canvas.Top="100"
Width="100" Height="100" Fill="Gray"/>
<Rectangle Canvas.Left="200" Canvas.Top="100"
Width="100" Height="100" Fill="Gray"/>
</Canvas>
</Viewbox>
</Window>
兩個矩形是相鄰的,但由於子像素座標(從視框的縮放產生)的,我最終之間深灰色接縫他們。這就是我想要擺脫的 - 我希望他們能夠無縫融合在一起。
但UseLayoutRounding似乎沒有這種效果。我試着在Window,Viewbox,Canvas,Rectangles上設置UseLayoutRounding="True"
- 我甚至試着把它放在所有的一次。對接縫沒有影響。
我錯過了什麼(或誤解)?我如何才能使用Viewbox進行佈局舍入?
但這似乎做我想做的,但爲什麼不UseLayoutRounding做同樣的事情?我想了解ULR,所以我也可以使用Silverlight。 ULR是不是應該繞到最近的像素? – 2009-12-07 13:48:58
同意的ULR應該這樣做。 D/Ling VS2010現在正在測試... – 2009-12-07 22:07:15