在 wpf .net 4.8 中,内容从左侧堆叠,右侧有一个按钮
Having Content beeing stacked from the left and a button on the right in wpf .net 4.8
目标:
我正在为我自己的音频库做一个小项目。
这个想法是有一个显示一些信息的音频文件列表。它可以与列表视图模式下的文件资源管理器进行比较:
到目前为止,使用网格很容易实现。
此外,我希望在元素的最右侧显示一个 play/pause 按钮
问题:
现在,我正在使用堆栈面板。因此,播放按钮会粘在网格的右侧,当显示太多元素时甚至可能会超出屏幕范围:
我目前使用的代码如下:
<StackPanel Orientation="Horizontal">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label x:Name="title" Content="Title" Grid.Column="0"></Label>
<Label x:Name="duration" Content="Duration" Grid.Column="1"></Label>
</Grid>
<Button x:Name="PlayPause_Button" Content=">" MinWidth="40" ></Button>
</StackPanel>
目标:
我想让按钮固定在元素的右侧。可能在网格前面,以防用户选择要显示的元数据多于适合元素的元数据。
仅将 StackPanel 用于标签:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal">
<Label x:Name="title" Content="Title" />
<Label x:Name="duration" Content="Duration" />
</StackPanel>
<Button x:Name="PlayPause_Button" Content=">" MinWidth="40" Grid.Column="1"/>
</Grid>
目标:
我正在为我自己的音频库做一个小项目。
这个想法是有一个显示一些信息的音频文件列表。它可以与列表视图模式下的文件资源管理器进行比较:
到目前为止,使用网格很容易实现。
此外,我希望在元素的最右侧显示一个 play/pause 按钮
问题:
现在,我正在使用堆栈面板。因此,播放按钮会粘在网格的右侧,当显示太多元素时甚至可能会超出屏幕范围:
我目前使用的代码如下:
<StackPanel Orientation="Horizontal">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label x:Name="title" Content="Title" Grid.Column="0"></Label>
<Label x:Name="duration" Content="Duration" Grid.Column="1"></Label>
</Grid>
<Button x:Name="PlayPause_Button" Content=">" MinWidth="40" ></Button>
</StackPanel>
目标:
我想让按钮固定在元素的右侧。可能在网格前面,以防用户选择要显示的元数据多于适合元素的元数据。
仅将 StackPanel 用于标签:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal">
<Label x:Name="title" Content="Title" />
<Label x:Name="duration" Content="Duration" />
</StackPanel>
<Button x:Name="PlayPause_Button" Content=">" MinWidth="40" Grid.Column="1"/>
</Grid>