我是新來的WPF,並試圖在UniformGrid中的元素之間添加1像素的邊框或空間。我怎樣才能做到這一點?我試圖給每個子元素添加一個邊距,但是在中間的單元格之間創建了一個兩像素邊框。我可以在頂部和左側添加一個邊距,但這會使底部和右側的單元格沒有外部邊距。WPF中的單元格之間的邊框UniformGrid
我試過Google搜索,可能沒有使用正確的術語。
我是新來的WPF,並試圖在UniformGrid中的元素之間添加1像素的邊框或空間。我怎樣才能做到這一點?我試圖給每個子元素添加一個邊距,但是在中間的單元格之間創建了一個兩像素邊框。我可以在頂部和左側添加一個邊距,但這會使底部和右側的單元格沒有外部邊距。WPF中的單元格之間的邊框UniformGrid
我試過Google搜索,可能沒有使用正確的術語。
你說你嘗試將Margin設置爲1,它給出了每個元素周圍總共2個像素。
所以把它切成兩半;相反,請將項目的邊距設置爲0.5。您還需要將0.5的邊距添加到UniformGrid本身,因此所有內容最終都會排列在像素邊界上。
(最左邊一列的項目將有UniformGrid的0.5像素左邊距,加上項目的0.5像素邊距,總共爲1像素,然後在第一列和下一列之間,您將擁有第一列的0.5像素右邊距,再加上下一列的0.5像素左邊距,所以再次在列之間總共有1個像素。它很好地工作。)
這裏的標記唯一的解決方案,你可以創建一個DP - 邊框寬度,並綁定到它,只是給我們留言,如果你需要幫助:
<Window x:Class="Margins.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Border Background="Green" Padding="0,0,10,0" HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal">
<Rectangle Fill="White" Width="100" Height="100" Margin="10,10,0,10"/>
<Rectangle Fill="White" Width="100" Height="100" Margin="10,10,0,10" />
<Rectangle Fill="White" Width="100" Height="100" Margin="10,10,0,10" />
<Rectangle Fill="White" Width="100" Height="100" Margin="10,10,0,10" />
</StackPanel>
</Border>
</Grid>
</Window>
選項1:Grid
面板ShowGridLines
財產,但只是虛線。
選項2:DataGrid
與GridLinesVisibility=DataGridGridLinesVisibility.All
。在這裏,您可以用VerticalGridLinesBrush
和HorizontalGridLinesBrush
選項3指定不同的線路刷:自己的面板
我相信是有更多的選擇,但我知道,只是那些我列出。
您可以粘貼網格代碼嗎? – VoodooChild
嗨,只是由 - 你確定你使用正確的面板類型,因爲UniformGrid是一個可調整大小的控件?您是否可以不將左邊距設置爲邊框的寬度,最後一個邊距也是正確的?據我所知,wpf中沒有標準控件可以支持你正在尋找的功能。 – 2011-10-03 22:07:36