WPF相对于单击按钮的动态定位

WPF相对于单击按钮的动态定位,wpf,Wpf,我目前正在开发一个应用程序,该应用程序的界面由多个按钮组成,这些按钮表示一个操作,只有一个操作可以分配给数据库中的每个记录。当用户选择一个操作时,他们会得到一个可选条目,其中包括从另外3个按钮中进行选择 一种方法是在每个操作按钮(7x3)的正确位置定义3个额外按钮,并仅根据单击的操作按钮显示设置。但是,这些按钮的值对于每个操作都是相同的,因此,如果这些按钮可以定义一次,然后在单击后显示在相对于操作按钮的适当位置,这将是有意义的 在WPF中有这样做的方法吗?在WPF中有很多这样做的方法。我认为最简

我目前正在开发一个应用程序,该应用程序的界面由多个按钮组成,这些按钮表示一个操作,只有一个操作可以分配给数据库中的每个记录。当用户选择一个操作时,他们会得到一个可选条目,其中包括从另外3个按钮中进行选择

一种方法是在每个操作按钮(7x3)的正确位置定义3个额外按钮,并仅根据单击的操作按钮显示设置。但是,这些按钮的值对于每个操作都是相同的,因此,如果这些按钮可以定义一次,然后在单击后显示在相对于操作按钮的适当位置,这将是有意义的


在WPF中有这样做的方法吗?

在WPF中有很多这样做的方法。我认为最简单的方法是使用网格控件,比如:

<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
......
子方案A
子方案B
子选项C
现在,单击按钮1、按钮2或按钮3时,将PanelWithSuboptions'
[Grid.Row][1]
attached属性分别设置为0、1和2,并将其可见性设置为可见,它们显示在适当的“main”按钮附近


其他方法是为每个主按钮(包括其他3个小按钮)创建用户控件或使用自定义控件模板。

谢谢,太好了。我在使用PanelWithSuboptions.setValue(Grid.RowProperty,x)时使用了该选项,并在单击按钮时更改了可见性