如何在DataGridTextColumn的右侧对齐我的内容

时间:2014-03-12 20:48:01

标签: c# wpf xaml

我的DataGrid中的一列是

<DataGrid AutoGenerateColumns="False" Name="m_gridControl">
    <DataGrid.Columns>
        <DataGridTextColumn x:Name="columnCategory" Width="10*">
            <DataGridTextColumn.Header>
                <StackPanel Orientation="Horizontal" x:Name="myStackPanel">
                     <TextBlock>Category</TextBlock>
                    <ComboBox x:Name="CategoryChooser"></ComboBox>
                </StackPanel>
            </DataGridTextColumn.Header>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

我无法在DataDridTextColumn的右侧找到我的Combobox。

我试过了

  1. 附加水平对齐=右对齐Combobox
  2. 附加流向= StackPanel中从右到左
  3. 创建一个静态资源作为转换器,将左边距设置为组合框。
  4. 不幸的是没有工作。 你能帮助我吗? 即使在调整列宽的同时,我的组合框也应始终向右侧倾斜。

1 个答案:

答案 0 :(得分:0)

您希望ComboBox + TextBlock正确对齐吗?如果是这样,我相信你可以沿着这些方向做点什么:

<DataGrid AutoGenerateColumns="False" Name="m_gridControl">
    <DataGrid.Columns>
       <DataGridTextColumn x:Name="columnCategory" Width="10*">
            <!-- Additional Style -->
            <DataGridTextColumn.HeaderStyle>
                <Style TargetType="DataGridColumnHeader">
                    <Setter Property="HorizontalContentAlignment" Value="Right"/>
                </Style>
            </DataGridTextColumn.HeaderStyle>
            <!---------------------->
            <DataGridTextColumn.Header>
                <StackPanel Orientation="Horizontal" x:Name="myStackPanel">
                    <TextBlock>Category</TextBlock>
                    <ComboBox x:Name="CategoryChooser"></ComboBox>
                </StackPanel>
            </DataGridTextColumn.Header>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

如果您希望TextBlock留在一个地方,并且ComboBox要对齐,则需要更多操作。