我在我的WPF應用程序中有一個網格,它當前是水平和垂直居中,沒有什麼大不了的。但是,我想根據單個網格單元而不是整個網格將我的整個網格居中。這可能嗎?這是我想要實現的一個小例子。我希望紅十字會成爲中心。 第一張圖片顯示整個網格(網格是綠色正方形)居中,第二張圖片顯示整個網格根據紅十字單元居中。這在XAML中可能嗎?我沒有特意提供任何代碼,因爲我不認爲這對於這個問題是必要的,它不是像我有一個錯誤或什麼不工作,我只是不知道如何實現這一點。中心網格根據WPF中的網格單元格
0
A
回答
2
有外網格,內網格和元素應該居中。外部和內部網格具有相同的行和列權重。佈局適應調整
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="1" Grid.ColumnSpan="3"
Background="LightGray"
Grid.Row="0" Grid.RowSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2"
Background="Green"/>
<Border Grid.Row="1" Grid.RowSpan="2" Grid.Column="0" Grid.ColumnSpan="2"
Background="Cyan"/>
</Grid>
</Grid>
0
我認爲你可以做到這一點的唯一方法,只有當你的UI組件具有固定的大小。這裏是我如何實現你所問的代碼示例。
<Window x:Class="StackStuff.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:StackStuff"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<DockPanel>
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Background="Red"
Width="150" Height="100" ClipToBounds="False">
<Border Margin="0,-150,-30,0" BorderBrush="Black" BorderThickness="1" Height="50"
Width="180">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="130"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" BorderThickness="1" BorderBrush="Black"/>
<Border Grid.Column="1" BorderThickness="1" BorderBrush="Black"/>
</Grid>
</Border>
<Border Margin="0,0,-180,0" BorderBrush="Black" BorderThickness="1"
Width="30" Height="100">
</Border>
</Grid>
</DockPanel>
正如你所看到的,它爲所有的細胞固定大小。
相關問題
- 1. WPF數據網格單元格驗證
- 2. WPF中心網格內容
- 3. 從wpf數據網格中獲取選定單元格的值
- 4. 允許WPF網格單元格內容在網格單元格之外展開?
- 5. 定製wpf網格單元格
- 6. 中心網格元素
- 7. 根據網格座標在DataGridView中獲取單元格值
- 8. jqGrid根據單元格值在網格中着色整條線
- 9. 公式/算法來選擇網格中的中心單元格?
- 10. 引用在WPF數據網格單元
- 11. 打印erlang中的單元格網格
- 12. 在網格中的單元格對齊
- 13. 驗證網格中的單元格
- 14. WPF中一個網格的一些單元格的邊框
- 15. wpf數據網格 - 從一個單元格移動到另一個單元格
- 16. 如何根據數據網格的標題或列設置數據網格中單元格的信息?
- 17. 如何調整WPF網格中的單元格大小
- 18. C#中的WPF網格單元格無文字
- 19. 枚舉通過WPF中的網格單元格
- 20. WPF碼頭控制到網格中的單元格
- 21. WPF - 中心標籤在網格單元格時,字體大小改變
- 22. 根據窗口大小重組其單元格的網格?
- 23. 根據單元格內容的劍道網格寬度
- 24. 清除網格單元格
- 25. 在網格中繪製單元格
- 26. 960網格中的中心菜單
- 27. WPF數據網格單元格文本框控件
- 28. 單元格內容點擊WPF數據網格VB.net
- 29. 使用按鈕編輯WPF數據網格單元格
- 30. 如何使Wpf數據網格單元格僅爲數字
所以,你想紅十字會是在畫面的中心,對不對?不是包含該單元的整個網格,而是單元本身。 –
@LupuSilviu我做了一個更新,希望現在更有意義? – Markinson
也許如果你解釋你想要解決什麼問題,而不是如何實現這個特定的解決方案,人們將能夠提供更好的答案(以及更好的整體解決方案)。那麼這個佈局的目的是什麼? – ndonohoe