水平对齐到右边+ wpf

时间:2012-09-20 09:24:39

标签: c# wpf wpf-controls alignment

我有一个窗口wpf应用程序,显示项目列表。 我希望列表显示在右侧,而不是现在的左侧。 我的部分xaml文件已附加。 我尝试将属性horizo​​ntalalignment附加到文本块和图像,但没有任何改变。

   <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>

我会为您提供任何帮助。 谢谢,哈达斯。

2 个答案:

答案 0 :(得分:1)

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

您可以在stackpanel上方引入一个网格,并使用Column#1来获得正确的对齐

答案 1 :(得分:0)

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