2013-10-29 20 views
0

我附上一个图像enter image description here避免固定大小的值在XAML网格/ StackPanel中在窗口电话8

我想创建MyTask(文本)之间的间隙和设置图像图标。我可以使用保证金属性来实现它。但是当我的Windows手机方向改变时,它看起来很糟糕。有没有一种方法可以让我的设置图像始终贴在右侧,而文字则保留在左侧。我如何通过避免固定值来创建文本和图像之间的差距。 这是我的代码。

<Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="auto"></ColumnDefinition> 
        <ColumnDefinition Width="auto"></ColumnDefinition> 
        <ColumnDefinition Width="*"></ColumnDefinition> 
        <ColumnDefinition Width="auto"></ColumnDefinition> 
       </Grid.ColumnDefinitions> 
       <Image Grid.Column="0" Height="35" Source="/Assets/Icons/MyTasks.png"></Image> 
       <TextBlock Grid.Column="1" Margin="10,0,0,0" Text="MY TASKS"></TextBlock>      
       <Image Margin="200,0,0,0" Grid.Column="3" Height="40" Source="/Assets/Icons/Settings.png"></Image> 
      </Grid> 
+0

您可以使用DockPanel –

+0

DockPanel控件在Windows Phone 8应用程序中不可用。 – Maverick

+0

你是否已经尝试了文本块上的左侧的Horizo​​ntalContentAlignment和右侧的图像?对不起,我现在无法测试。 –

回答

1

检查此sample

这是Pivot模板的摘录。第一列和第三列的定义必须是:Width="Auto"

<Grid> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition /> 
     <ColumnDefinition Width="Auto" /> 
    </Grid.ColumnDefinitions> 

    <Image 
     Height="35" 
     HorizontalAlignment="Left" 
     Margin="12,0,0,0" 
     VerticalAlignment="Bottom" 
     Source="/Assets/Icons/MyTasks.png" /> 

    <ContentControl 
     ContentTemplate="{TemplateBinding TitleTemplate}" 
     Content="{TemplateBinding Title}" 
     Grid.Column="1" 
     HorizontalAlignment="Left" 
     Margin="0,0,0,-7" 
     VerticalAlignment="Center" 
     Style="{StaticResource PivotTitleStyle}"/> 

    <Image 
     Grid.Column="2" 
     Height="35" 
     HorizontalAlignment="Right" 
     VerticalAlignment="Bottom" 
     Source="/Assets/Icons/Settings.png" /> 

</Grid> 
+0

谢谢,它工作。 – Maverick