Xaml 如何使堆叠面板正确对齐?
在我的应用程序中,我使用了一个列表,它有四个数据1)名称2)日期3)图像4)名称 结束我使用的xaml代码Xaml 如何使堆叠面板正确对齐?,xaml,windows-phone-7,Xaml,Windows Phone 7,在我的应用程序中,我使用了一个列表,它有四个数据1)名称2)日期3)图像4)名称 结束我使用的xaml代码 <StackPanel Orientation="Horizontal" Width="450" Height="90" HorizontalAlignment="Stretch"> <StackPanel Margin="0,0,0,0" Orie
<StackPanel Orientation="Horizontal" Width="450" Height="90" HorizontalAlignment="Stretch">
<StackPanel Margin="0,0,0,0" Orientation="Horizontal">
<Grid Margin="0,0,0,0" Height="90" Width="225">
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Height="60" Margin="0,15" FontWeight="Medium" TextWrapping="Wrap" Text="{Binding Name}" Width="225" FontSize="25"/>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Height="39" Margin="4,51,0,0" TextWrapping="Wrap" Text="{Binding Date}" Width="221" Foreground="Gray" FontSize="16"/>
</Grid>
<StackPanel Orientation="Horizontal" Grid.Row="0" Width="225" HorizontalAlignment="Right">
<Image Name="ImgBox" Height="46" Source="/attach-30x30.png" VerticalAlignment="Center" Width="40" HorizontalAlignment="Right"/>
<TextBlock Text="{Binding petname}" FontSize="24" HorizontalAlignment="Right" VerticalAlignment="Center" FontFamily="Portable User Interface"/>
</StackPanel>
</StackPanel>
</StackPanel>
我想要的是,我希望图像后面紧跟着petname,并且两者都应该正确对齐。
我想要的是,
但我得到的是,
有人能帮我吗?为内部stackpanel设置FlowDirection=RighToLeft,然后交换图像和文本块的顺序您的网格应该跨越所有控件。请尝试以下示例:
<StackPanel Orientation="Horizontal" Width="450" Height="90" HorizontalAlignment="Stretch">
<Grid Margin="0,0,0,0" Height="90" Width="450">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock HorizontalAlignment="Left" Grid.Column="0" VerticalAlignment="Center" Height="60" Margin="0,15" FontWeight="Medium" TextWrapping="Wrap" Text="{Binding Name}" Width="225" FontSize="25"/>
<TextBlock HorizontalAlignment="Left" Grid.Column="0" VerticalAlignment="Center" Height="39" Margin="4,51,0,0" TextWrapping="Wrap" Text="{Binding Date}" Width="221" Foreground="Gray" FontSize="16"/>
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right">
<Image Name="ImgBox" Height="46" Source="/attach-30x30.png" VerticalAlignment="Center" Width="40"/>
<TextBlock Text="{Binding petname}" FontSize="24" TextAlignment="Right" VerticalAlignment="Center" FontFamily="Portable User Interface"/>
</StackPanel>
</Grid>
</StackPanel>
设置stackpanel的flowdirection=rightToLeft将使其向右对齐。但也要使其内容从右向左堆叠,因此您需要在XAML中对内容进行重新排序,这样可以很好地工作,但文本块中的某些文本不可见?您的意思是像在右侧裁剪一样?我不知道为什么,可能是屏幕右侧的文本块。。