Вертикальное выравнивание содержимого флажка WPF относительно флажка

У меня есть флажок, разметка XAML которого выглядит следующим образом:

<CheckBox HorizontalContentAlignment="Stretch">
    <StackPanel Orientation="Vertical">
        <TextBox x:Name="editTextBox" 
            Text="{Binding Path=Caption, Mode=TwoWay}"
            TextWrapping="Wrap"
            Visibility="{Binding Path=IsBeingEdited, Converter={StaticResource booleanToVisibilityConverter}}" />
        <TextBlock x:Name="itemText"
            TextWrapping="Wrap"                        
            Text="{Binding Path=Caption}" 
            Visibility="{Binding Path=IsBeingEdited, Converter={StaticResource reverseBooleanToVisibilityConverter}}">
        </TextBlock>
    </StackPanel>
</CheckBox>

Идея состоит в том, что я могу переключаться между TextBlock (отображение) и TextBox (редактировать) . Однако при запуске приложения визуальный элемент CheckBox (отмеченный квадрат) центрируется по вертикали. Вместо этого я бы хотел, чтобы он был выровнен по верхнему краю TextBlock / TextBox.

Я заметил, что когда я включаю только TextBlock (то есть без StackPanel, без TextBox), флажок фактически выровнен с верхом TextBlock, поэтому я предполагаю, что м не хватает некоторых настроек в StackPanel?

8
задан H.B. 12 January 2011 в 17:03
поделиться