簡體   English   中英

為什么我的WPF單選按鈕與中心垂直對齊?

[英]Why aren't my WPF radio buttons vertically aligned to the center?

我有一個WPF項目,我正在嘗試使用單選按鈕來確定要使用哪個TextBox輸入。 但是,當我運行它時,單選按鈕本身與容器的頂部對齊,我找不到任何影響它的對齊屬性。 這種行為有望嗎? 我一直在尋找答案,但似乎一切都在詢問如何垂直對齊單選按鈕。 我的假設是它與我如何嵌套在其他控件中有關,但是如何讓它工作而不會改變太多?

這是與單選按鈕相關的xaml:

<DockPanel Grid.Column="1" Margin="5,0,0,0">
  <RadioButton HorizontalContentAlignment="Stretch" DockPanel.Dock="Top" IsChecked="True">
    <xctk:TimePicker Name="TimePickerBox" Margin="0" Format="LongTime"
                     VerticalAlignment="Center"/>
  </RadioButton>
  <RadioButton Margin="0,5,0,0" DockPanel.Dock="Top">
    <StackPanel Orientation="Horizontal">
      <TextBox Name="Hours" Width="30" VerticalAlignment="Center">0</TextBox>
      <Label>Hours</Label>
      <TextBox Name="Minutes" Width="30" VerticalAlignment="Center">0</TextBox>
      <Label>Minutes</Label>
      <TextBox Name="Seconds" Width="30" VerticalAlignment="Center">0</TextBox>
      <Label>Seconds</Label>
    </StackPanel>
  </RadioButton>
// ...

這就是它的樣子:

單選按鈕對齊

如何讓單選按鈕垂直居中?

VerticalContentAlignment設置為RadioButton的Center

<RadioButton Margin="0,5,0,0" DockPanel.Dock="Top"
             VerticalContentAlignment="Center">
  .....
</RadioButton>

在兩個RadioButton元素上,嘗試添加VerticalAlignment="Top" VerticalContentAlignment="Center" 我在一個測試項目中做到了這一點,似乎就是這樣做的。

我真的不記得DockPanel.Dock做了什么,但嘗試將StackPanelVerticalAligment設置為Center ,如果它沒有幫助也將DockPanel.Dock設置為Center

<RadioButton Margin="0,5,0,0" DockPanel.Dock="Center">
  <StackPanel VerticalAlignment="Center" Orientation="Horizontal">
    <TextBox Name="Hours" Width="30" VerticalAlignment="Center">0</TextBox>
    <Label>Hours</Label>
    <TextBox Name="Minutes" Width="30" VerticalAlignment="Center">0</TextBox>
    <Label>Minutes</Label>
    <TextBox Name="Seconds" Width="30" VerticalAlignment="Center">0</TextBox>
    <Label>Seconds</Label>
  </StackPanel>
</RadioButton>

我復制了你的XAML,它完全符合你的要求。 所以似乎可能有另一個原因。
請注意,radioButtons Bullet將始終與其內部文本塊的第一行對齊。
有關進一步閱讀,請參閱此處: 如何制作RadioButton的Bullet對齊頂部? 作出解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM