2013-03-25 197 views
3

我正在嘗試開發帶圓角的ListView。 圓角屬性正在工作,但是當頂部或底部項目被選中時,我遇到了一些問題。此時,圓角被替換。Windows商店應用程序角半徑

選擇其間的頂部和底部項目的部分節點是OK:

enter image description here

然而,這是頂部和底部的物品發生了什麼:

enter image description here

*我知道的伎倆在.Net WPF應用程序中,您通常會在圓角處使用剪切。但是,WinRT似乎不支持裁剪中的圓角。

+0

試着看看http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.itemscontrol.itemcontainerstyle我不知道它是否會做你的但它的值得一試。 – mydogisbox 2013-03-25 15:39:29

+0

現在你是如何四捨五入的?如果您的背景是純色 - 最簡單的方法是在角落頂部覆蓋固體填充圓角。否則,您可能需要將'ItemContainerStyle'更新爲建議的mydogisbox,並且可能會使高亮/選擇欄變爲圓形。 – 2013-03-25 16:29:12

+0

的確,我正在修改列表視圖控件的ItemContainerStyle。在這種情況下,容器具有邊界控制。我正在設置CornerRadius屬性。 你的建議似乎是可行的(更像是你會在網頁設計中執行的技巧)。我正在尋找一些其他的解決方案(可能更優雅或別的,因爲我對XAML來說是新的) – d0kt0r1 2013-03-25 19:43:23

回答

2

呀,所以,看...

我來回答這個例子的問題:

<Border Width="100" Height="100" Margin="5" 
    Background="DimGray" CornerRadius="15"> 
</Border> 

<Border Width="100" Height="100" Margin="5" 
    Background="DimGray" CornerRadius="15"> 
    <Rectangle Height="100" Width="100" Fill="Purple" /> 
</Border> 

<Border Width="100" Height="100" Margin="5" Padding="5" 
    Background="DimGray" CornerRadius="15"> 
    <Rectangle Height="100" Width="100" Fill="Purple" /> 
</Border> 

<Border Width="100" Height="100" Margin="5" Padding="5" 
    Background="Purple" CornerRadius="15"> 
    <Rectangle Height="100" Width="100" Fill="Purple" /> 
</Border> 

是這樣的:

enter image description here

而且,爲什麼呢?由於Windows 8中的裁剪目前僅支持矩形。不是多邊形,不是圓角,不是任何東西。樣本中的第四項是目前唯一的方法。至少你有一個選擇!

祝你好運!

相關問題