2014-03-12 27 views
0
右侧

一个在我的DataGrid中列的内容是我该如何调整我的DataGridTextColumn

<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的右侧。

我尝试以下

  1. 附加水平对齐=右上组合框
  2. 附流向=从右到左的StackPanel
  3. 创建静态资源作为转换为左边距设置为组合框。

不幸的是没有工作。 你们能帮我吗? 即使在调整列宽度的同时,我的组合框也应该总是朝右侧倾斜。

回答

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被右对齐,这将需要更多的操作。

+0

非常感谢克里斯, 但我希望TextBlock留在一个地方,而组合框要对齐 – Prasad

+0

啊,你可能不想接受这个答案,但有人可能会有完美的解决方案= D我会尽量再看看。 – Chris