1
我試圖創建具有一個切換按鈕/頭的超薄酒吧的擴張左邊,但是當在窗口的其餘部分擴展罷了,甚至超過材料的已經在那了。WPF:如何做一個擴展溢出,並填寫窗口
我真的不知道該怎麼辦的最好的辦法是。我想也許是一個2列的網格。首先是膨脹機,其次是其他材料。接下來,我將有一個觸發器,當擴展器IsExpanded時將第二列的寬度設置爲零。
我真的不知道如何得到那個工作,甚至如何正確地做到這一點。
下面是一些代碼示例:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Name="SecondColumn" Width="*" />
</Grid.ColumnDefinitions>
<Expander ExpandDirection="Right" IsExpanded="True">
<Expander.Resources>
<Style TargetType="Expander">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Expander" >
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="True" >
<Setter TargetName="SecondColumn" Property="ColumnDefinition.Width" Value="0" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Expander.Resources>
<ListBox >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Expander>
<TabControl Grid.Column="1" />
</Grid>
我wan't列表框展開時待觀察,否則TabControl的
任何想法?
感謝您指出了這一點,但我認爲我只會用這個作爲最後的手段,它只是感覺像這樣的黑客,我擔心這可能容易折斷。 – 2010-07-15 15:11:33
你可以去的另一件事是切換到由ToggleButton和Popup控件組成的虛擬擴展器自定義控件。這樣彈出窗口將保證顯示在那裏出現的任何東西。不過,您只需自己創建控件。 – 2010-07-15 15:17:20
我會檢查一下。而且我也嘗試了另一種解決方案,除了擔心主窗口的大小和大小,它可能沒問題。猜我可以將它綁定在一起來解決這個問題。 – 2010-07-15 16:23:06