gpt4 book ai didi

wpf - WPF工具栏项目Horizo​​ntalAligment =“右”

转载 作者:行者123 更新时间:2023-12-03 23:22:30 31 4
gpt4 key购买 nike

是否可以使WPF工具栏中的元素的Right水平对齐方式正确?

<ToolBar Height="38" VerticalAlignment="Top" Grid.Row="1">
<Button HorizontalAlignment="Left" Width="50" VerticalAlignment="Stretch"/>
<Button HorizontalAlignment="Left" Width="50" VerticalAlignment="Stretch"/>
<ComboBox Width="120" HorizontalAlignment="Right"/>
</ToolBar>


我尝试将内部元素添加到Grid中,并将 ColumnDefinition分配给Left / Right。我也尝试过 StackPanel。无论我如何尝试,我似乎都无法将ComboBox固定在工具栏的右侧。

更新:

<DockPanel LastChildFill="True">


不起作用,它不会像普通元素那样填充ToolBar元素。

最佳答案

进一步的调查显示,为了做到这一点,我需要将Grid内的ToolBar宽度设置为,或者如Chris Nicol所说的那样,将DockPanel内的ToolBar动态设置为< cc>使用Toolbar

但是,这并不像一个干净的解决方案。使RelativeSource在调整大小时正确更新非常复杂。因此,相反,我发现了某种看上去很漂亮,操作更整洁的骇客。

<ToolBar Height="38" VerticalAlignment="Top" Grid.Row="1">
<Button HorizontalAlignment="Left" Width="50" VerticalAlignment="Stretch"/>
<Button HorizontalAlignment="Left" Width="50" VerticalAlignment="Stretch"/>
</ToolBar>

<ComboBox Margin="0,0,15,0" Width="120" HorizontalAlignment="Right" Grid.Row="1"/>


由于我所有的元素都在网格上,因此可以通过将 Toolbar分配到与工具栏相同的行来将 ComboBox放在 ToolBar的顶部。将我的 Grid.Row设置为稍微拉下 Margins以免影响外观之后,它会根据需要运行,没有错误。由于我发现执行此操作的唯一另一种方法是动态设置DockPanel / Grid的Width属性,因此我实际上觉得这是一种更清洁,更有效的方法。

关于wpf - WPF工具栏项目Horizo​​ntalAligment =“右”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201685/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com