我的問題是非常具體的,並沒有發現任何相關的任何地方。所以,關於我的生活的第一個問題,我們走吧。 我新來WPF和XAML全球,所以不要猶豫,如果你有任何評論,以改善我的代碼。.NET GridSplitter調整一列的大小
我想達到什麼目的? 我有一個由4個菜單包圍的工作區。這個菜單的可見性由頂部的切換按鈕調節,但是我擦除了所有這些,以便我的代碼更清晰。但我想要的菜單表現得像是彈出來的(我沒有用彈出來真正控制大小和位置,在特定的容器內,以及菜單)。 左側有兩個菜單,右側有兩個菜單。在每一側,兩個菜單不能同時打開。同樣的事情,我清除所有這些要清楚。 我希望我的菜單可以調整大小。但是我左邊的兩個菜單的大小不一樣,應該單獨調整大小。
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Background="Aqua" Name="LeftMenu">
<Grid Name="LeftMenu1">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="200" MaxWidth="500" Width="300"/>
<ColumnDefinition Width="5"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Name="MenuContent1"/>
<GridSplitter Grid.Column="1" ResizeBehavior="PreviousAndCurrent" HorizontalAlignment="Stretch"/>
</Grid>
</Grid>
<Grid Grid.Column="1" Name="Workspace"/>
<Grid Grid.Column="2" Background="Aqua" Name="RightMenu">
<Grid Name="RightMenu1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5"/>
<ColumnDefinition MinWidth="200" MaxWidth="500" Width="300"/>
</Grid.ColumnDefinitions>
<GridSplitter Grid.Column="0" ResizeBehavior="CurrentAndNext" HorizontalAlignment="Stretch"/>
<Grid Grid.Column="1" Name="MenuContent2"/>
</Grid>
</Grid>
</Grid>
* I僅diplayed一個菜單上的每一側,因爲我擦除的能見度條件,但所述第二菜單是相同的,對於exept寬度。
我的問題是什麼? 正如您所看到的,我使用GridSplitter來調整組成每個菜單的一列網格。 雖然我完全得到我想要的行爲在左邊,但它不能在右邊工作。 當我使用Gridsplitter時,gridsplitter列(「current」)被調整大小,而不是菜單列。我使用了「CurrentandNext」值,因爲它看起來合乎邏輯,但它顯然是不夠的。 如果我用最大寬度和最小寬度固定GridSplitter寬度,則不會發生任何事件,GridSplitter不會移動。
我希望我很清楚,並會歡迎任何幫助!
感謝您的回覆!你可能有另一個想法,然後調整一個「菜單」? – No74
什麼是菜單? –
好菜單不是正確的詞。一邊是面板,就像您可以在每個工具上找到的一樣,例如Visual Studio上的工具箱。 – No74