有很多方法可以在WPF中做到這一點。我認爲最簡單的將是使用Grid控件,像:
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
......
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0">Button 1</Button>
<Button Grid.Row="1" Grid.Column="0">Button 2</Button>
<Button Grid.Row="2" Grid.Column="0">Button 3</Button>
......
<StackPanel Name="PanelWithSuboptions" Grid.Column="1" Visibility="Collapsed">
<Button>Suboption A</Button>
<Button>Suboption B</Button>
<Button>Suboption C</Button>
</StackPanel>
</Grid>
現在點擊按鈕1,按鈕2或按鈕3,集PanelWithSuboptions' [Grid.Row][1]
附加屬性爲0,1分別爲2,和它的當可見性可見,並且它們出現在適當的「主」按鈕附近。
其他方法可能是爲每個包含其他3個小按鈕的主按鈕製作UserControl或使用自定義控件模板。
謝謝,那太好了。我使用PanelWithSuboptions.setValue(Grid.RowProperty,x)和按鈕上點擊更改可見性 – MattP