我正在尝试将一个文本框垂直居中在命令栏内容中,但遇到了问题。
实际上,我有以下代码(请查看最后第三行):
问题在于我看到一些指南,人们确切地写下了它对他们有用......但对我来说不是这样。 我不确定该怎么做,我已经尝试使用Visual Studio 2017的设计视图使用网格,相对面板,堆栈面板等,但我没有找到解决方案。
实际上,我有以下代码(请查看最后第三行):
<CommandBar Grid.Row="0" FlowDirection="LeftToRight">
<AppBarButton x:Name="Back" Icon="Back" Label="Back" Click="Back_Click"/>
<AppBarButton x:Name="Forward" Icon="Forward" Label="Forward" Click="Forward_Click"/>
<AppBarButton x:Name="Refresh" Icon="Refresh" Label="Refresh" Click="Refresh_Click"/>
<AppBarButton x:Name="Cancel" Icon="Cancel" Label="Cancel" Click="Refresh_Click"/>
<AppBarButton x:Name="Home" Icon="Home" Label="Home" Click="Home_Click"/>
<CommandBar.Content>
<TextBox x:Name="Value" VerticalAlignment="Center" KeyDown="Value_KeyDown" HorizontalAlignment="Center" Margin="0,0,0,0" Width="880"/>
</CommandBar.Content>
</CommandBar>
问题在于我看到一些指南,人们确切地写下了它对他们有用......但对我来说不是这样。 我不确定该怎么做,我已经尝试使用Visual Studio 2017的设计视图使用网格,相对面板,堆栈面板等,但我没有找到解决方案。
P.S: @Xavier Xie - MSFT和@Jeff R.都找到了一种方法,只有在应用按钮的标签显示时才能对齐,当它们不显示时,文本框似乎未对齐。 我正在寻找一种方式,在它们不显示和显示时都可以对齐它。(因此,当标签显示或不显示时,对齐必须通过某种方式自动更改)。 如果这不可能,我至少要求在标签不显示时对齐它(不像他们的回答)。
VerticalContentAlignment="Center"
实际上是有效的。文本框与整个AppBarButton
垂直对齐。 AppBarButton 具有图标和标签。当您设置IsOpen="True"
时,您会看到它垂直对齐。否则,它看起来像没有垂直对齐,但实际上是垂直对齐的。请查看我的更新回复。 - Xie StevenVisualState
和ContentControl
?我尝试直接放在CommandBar.Content
上,但它说已经有一个Content属性。我还尝试将其放在相对面板中,与我添加的文本框和另一个UI元素一起,但它说UIElementCollection不能有那个。我也尝试在commanbar
上,但这次错误是IObservableVector。我还尝试在外部使用<Style TargetType="CommandBar">
,但没有头绪。 - Ender Look