我目前正在开发一个具有接口的应用程序,该接口由表示操作的多个按钮组成,只能为数据库中的每个记录分配一个操作。当用户选择一个动作时,他们会得到一个可选项,其中包含3个按钮的选项。
执行此操作的一种方法是为每个操作按钮(7x3)在正确位置定义3个额外按钮,并仅根据单击的操作按钮显示该组。但是,这些按钮的值对于每个动作都是相同的,因此如果这些按钮值可以定义一次,然后在相对于动作按钮单击的适当位置显示,则会有意义。
有没有办法在WPF中执行此操作?
答案 0 :(得分:1)
在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,并将其可见性设置为可见,并且它们显示在正确的“主”按钮附近。
其他方法是制作UserControl或为包含其他3个小按钮的每个主按钮使用自定义控件模板。