2012-09-20 127 views
0

我有一个窗口wpf应用程序,呈现项目列表。 我希望将列表呈现在右侧,而不是现在的左侧。 附带了我的部分xaml文件。 我尝试将属性horizo​​ntalalignment附加到文本块和图像,但没有任何更改。水平对齐向右+ wpf

<HierarchicalDataTemplate DataType="{x:Type cl:FolderData}" ItemsSource="{Binding Path=Children,UpdateSourceTrigger=PropertyChanged}"> 
    <Border BorderThickness="1"> 
     <!-- Drop="FolderStackPanel_PreviewDrop" --> 
     <StackPanel DragEnter="StackPanel_PreviewDragEnter" DragLeave="StackPanel_PreviewDragLeave" 
         Name="FolderStackPanel" Drop="FolderStackPanel_PreviewDrop" Orientation="Horizontal" ContextMenu="{StaticResource cmExportDelete}" 
        HorizontalAlignment="Right"> 
      <Image Name="NodeIcon" Width="24" Margin="5" Height="24" Source="pack://application:,,,/ExportToolWpf;component/Images/folder_icon.png"/> 
      <StackPanel Orientation="Vertical" Margin="0,5,0,0" > 
       <TextBlock Name="NodeHeader" FontSize="11" Text="{Binding Path=FolderName}" /> 
       <StackPanel Name="IdPanel" Orientation="Horizontal"> 
        <TextBlock FontSize="10" Foreground="Gray" Text="Client ID:" /> 
        <TextBlock FontSize="10" Foreground="Gray" Text="{Binding Path=ClientId}" Margin="0,0,7,0" /> 
        <TextBlock FontSize="10" Foreground="Gray" Text="Project ID:"/> 
        <TextBlock FontSize="10" Foreground="Gray" Text="{Binding Path=ProjectId}" /> 
       </StackPanel> 
      </StackPanel> 
     </StackPanel> 
    </Border> </HierarchicalDataTemplate> 

我支持任何你可以提供的帮助。 谢谢,hadas。

回答

0

使用DockPanel代替StackPanel并尝试设置HorizontalContentAlignment

1
<Grid> 
<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*"/> 
    <ColumnDefinition Width="Auto"/> 
</Grid.ColumnDefinitions> 
<StackPanel Grid.Column="1" /> 
</Grid> 

您可以引入一个网格只是StackPanel的上方,然后使用列#1获得右对齐