作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以使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>
ColumnDefinition
分配给Left / Right。我也尝试过
StackPanel
。无论我如何尝试,我似乎都无法将ComboBox固定在工具栏的右侧。
<DockPanel LastChildFill="True">
最佳答案
进一步的调查显示,为了做到这一点,我需要将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工具栏项目HorizontalAligment =“右”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201685/
我是一名优秀的程序员,十分优秀!