Windows phone 8 Windows Phone文本块对齐

Windows phone 8 Windows Phone文本块对齐,windows-phone-8,Windows Phone 8,在带有ItemTemplate的列表框中,第二个文本块未向右对齐 在设计模式下,第二个文本块向右对齐 结果: 设计器中的项目: 您需要将HorizontalContentAligment更改为Strech-要用您的项目填充空间,默认情况下它设置为左侧: <ListBox Name="myList"> <ListBoxItem HorizontalContentAlignment="Stretch"> <Grid> &

在带有ItemTemplate的列表框中,第二个文本块未向右对齐

在设计模式下,第二个文本块向右对齐


结果:

设计器中的项目:


您需要将HorizontalContentAligment更改为Strech-要用您的项目填充空间,默认情况下它设置为左侧:

<ListBox Name="myList">
  <ListBoxItem HorizontalContentAlignment="Stretch">
       <Grid>
          <TextBlock HorizontalAlignment="Left" Text="2014-01-24 23:00:00" FontSize="30"/>
          <TextBlock HorizontalAlignment="Right" Text="00:00" FontSize="30"/>
        </Grid>
    </ListBoxItem>
</ListBox>

您还可以设置ItemContainerStyle的属性:

<ListBox>
  <ListBox.ItemContainerStyle>
      <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
      </Style>
  </ListBox.ItemContainerStyle>
  <ListBox.ItemTemplate>
    <DataTemplate>
        <Grid>
           <TextBlock Padding="10" HorizontalAlignment="Left" Text="{Binding Display}" FontSize="30"/>
           <TextBlock HorizontalAlignment="Right" Text="{Binding Length}" FontSize="30"/>
        </Grid>
    </DataTemplate>
 </ListBox.ItemTemplate>

 <ListBoxItem>
    <Grid>
      <TextBlock Padding="10" HorizontalAlignment="Left" Text="2014-01-24 23:00:00" FontSize="30"/>
      <TextBlock Padding="10" HorizontalAlignment="Right" Text="00:00" FontSize="30"/>
    </Grid>
  </ListBoxItem>
</ListBox>


如果您只有两个项目,一个左对齐,一个右对齐-我已经删除了列。尽管它们有助于管理内容,但对齐它,如果您需要包装文本和/或对其执行更多操作,它们也会很有帮助。

您需要将HorizontalContentAligment更改为Strech-要用项目填充空间,默认情况下,它设置为左侧:

<ListBox Name="myList">
  <ListBoxItem HorizontalContentAlignment="Stretch">
       <Grid>
          <TextBlock HorizontalAlignment="Left" Text="2014-01-24 23:00:00" FontSize="30"/>
          <TextBlock HorizontalAlignment="Right" Text="00:00" FontSize="30"/>
        </Grid>
    </ListBoxItem>
</ListBox>

您还可以设置ItemContainerStyle的属性:

<ListBox>
  <ListBox.ItemContainerStyle>
      <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
      </Style>
  </ListBox.ItemContainerStyle>
  <ListBox.ItemTemplate>
    <DataTemplate>
        <Grid>
           <TextBlock Padding="10" HorizontalAlignment="Left" Text="{Binding Display}" FontSize="30"/>
           <TextBlock HorizontalAlignment="Right" Text="{Binding Length}" FontSize="30"/>
        </Grid>
    </DataTemplate>
 </ListBox.ItemTemplate>

 <ListBoxItem>
    <Grid>
      <TextBlock Padding="10" HorizontalAlignment="Left" Text="2014-01-24 23:00:00" FontSize="30"/>
      <TextBlock Padding="10" HorizontalAlignment="Right" Text="00:00" FontSize="30"/>
    </Grid>
  </ListBoxItem>
</ListBox>


如果您只有两个项目,一个左对齐,一个右对齐-我已经删除了列。尽管它们有助于管理内容,但对齐它,如果您需要包装文本和/或对其执行更多操作,它们也会很有帮助。

您需要将HorizontalContentAligment更改为Strech-要用项目填充空间,默认情况下,它设置为左侧:

<ListBox Name="myList">
  <ListBoxItem HorizontalContentAlignment="Stretch">
       <Grid>
          <TextBlock HorizontalAlignment="Left" Text="2014-01-24 23:00:00" FontSize="30"/>
          <TextBlock HorizontalAlignment="Right" Text="00:00" FontSize="30"/>
        </Grid>
    </ListBoxItem>
</ListBox>

您还可以设置ItemContainerStyle的属性:

<ListBox>
  <ListBox.ItemContainerStyle>
      <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
      </Style>
  </ListBox.ItemContainerStyle>
  <ListBox.ItemTemplate>
    <DataTemplate>
        <Grid>
           <TextBlock Padding="10" HorizontalAlignment="Left" Text="{Binding Display}" FontSize="30"/>
           <TextBlock HorizontalAlignment="Right" Text="{Binding Length}" FontSize="30"/>
        </Grid>
    </DataTemplate>
 </ListBox.ItemTemplate>

 <ListBoxItem>
    <Grid>
      <TextBlock Padding="10" HorizontalAlignment="Left" Text="2014-01-24 23:00:00" FontSize="30"/>
      <TextBlock Padding="10" HorizontalAlignment="Right" Text="00:00" FontSize="30"/>
    </Grid>
  </ListBoxItem>
</ListBox>


如果您只有两个项目,一个左对齐,一个右对齐-我已经删除了列。尽管它们有助于管理内容,但对齐它,如果您需要包装文本和/或对其执行更多操作,它们也会很有帮助。

您需要将HorizontalContentAligment更改为Strech-要用项目填充空间,默认情况下,它设置为左侧:

<ListBox Name="myList">
  <ListBoxItem HorizontalContentAlignment="Stretch">
       <Grid>
          <TextBlock HorizontalAlignment="Left" Text="2014-01-24 23:00:00" FontSize="30"/>
          <TextBlock HorizontalAlignment="Right" Text="00:00" FontSize="30"/>
        </Grid>
    </ListBoxItem>
</ListBox>

您还可以设置ItemContainerStyle的属性:

<ListBox>
  <ListBox.ItemContainerStyle>
      <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
      </Style>
  </ListBox.ItemContainerStyle>
  <ListBox.ItemTemplate>
    <DataTemplate>
        <Grid>
           <TextBlock Padding="10" HorizontalAlignment="Left" Text="{Binding Display}" FontSize="30"/>
           <TextBlock HorizontalAlignment="Right" Text="{Binding Length}" FontSize="30"/>
        </Grid>
    </DataTemplate>
 </ListBox.ItemTemplate>

 <ListBoxItem>
    <Grid>
      <TextBlock Padding="10" HorizontalAlignment="Left" Text="2014-01-24 23:00:00" FontSize="30"/>
      <TextBlock Padding="10" HorizontalAlignment="Right" Text="00:00" FontSize="30"/>
    </Grid>
  </ListBoxItem>
</ListBox>


如果您只有两个项目,一个左对齐,一个右对齐-我已经删除了列。尽管它们有助于管理内容,但对齐内容,如果您需要包装文本和/或对其执行更多操作,它们也会很有帮助。

我会选择Alexandr Sulimov解决方案。我做了一些改进。我认为这是最好的方法

 <Grid>
      <Grid.ColumnDefinitions>
           <ColumnDefinition Width="*"></ColumnDefinition>
           <ColumnDefinition Width="Auto"></ColumnDefinition>
      </Grid.ColumnDefinitions>
      <TextBlock Grid.Column="0" Padding="10" Text="{Binding Display}" FontSize="30" />
      <TextBlock Grid.Column="1" Text="{Binding Length}" FontSize="30" />
 </Grid>

我会选择Alexandr Sulimov溶液。我做了一些改进。我认为这是最好的方法

 <Grid>
      <Grid.ColumnDefinitions>
           <ColumnDefinition Width="*"></ColumnDefinition>
           <ColumnDefinition Width="Auto"></ColumnDefinition>
      </Grid.ColumnDefinitions>
      <TextBlock Grid.Column="0" Padding="10" Text="{Binding Display}" FontSize="30" />
      <TextBlock Grid.Column="1" Text="{Binding Length}" FontSize="30" />
 </Grid>

我会选择Alexandr Sulimov溶液。我做了一些改进。我认为这是最好的方法

 <Grid>
      <Grid.ColumnDefinitions>
           <ColumnDefinition Width="*"></ColumnDefinition>
           <ColumnDefinition Width="Auto"></ColumnDefinition>
      </Grid.ColumnDefinitions>
      <TextBlock Grid.Column="0" Padding="10" Text="{Binding Display}" FontSize="30" />
      <TextBlock Grid.Column="1" Text="{Binding Length}" FontSize="30" />
 </Grid>

我会选择Alexandr Sulimov溶液。我做了一些改进。我认为这是最好的方法

 <Grid>
      <Grid.ColumnDefinitions>
           <ColumnDefinition Width="*"></ColumnDefinition>
           <ColumnDefinition Width="Auto"></ColumnDefinition>
      </Grid.ColumnDefinitions>
      <TextBlock Grid.Column="0" Padding="10" Text="{Binding Display}" FontSize="30" />
      <TextBlock Grid.Column="1" Text="{Binding Length}" FontSize="30" />
 </Grid>

这是您可以做到的:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="3*" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>

    <TextBlock 
         Grid.Column="0" Padding="10" HorizontalAlignment="Left" 
         Text="{Binding Display}" FontSize="30" 
         />
    <TextBlock 
         Grid.Column="1" HorizontalAlignment="Right" 
         Text="{Binding Length}" FontSize="30"
         />
</Grid>

这将使第一列的宽度为75%,第二列的宽度为25%


如果希望第一列和第二列根据内容动态更改宽度,则可以将一个宽度设置为“自动”,另一个为“无宽度”属性(或width=“*”),这意味着它将以剩余区域作为列宽。

这是您可以做到的:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="3*" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>

    <TextBlock 
         Grid.Column="0" Padding="10" HorizontalAlignment="Left" 
         Text="{Binding Display}" FontSize="30" 
         />
    <TextBlock 
         Grid.Column="1" HorizontalAlignment="Right" 
         Text="{Binding Length}" FontSize="30"
         />
</Grid>

这将使第一列的宽度为75%,第二列的宽度为25%


如果希望第一列和第二列根据内容动态更改宽度,则可以将一个宽度设置为“自动”,另一个为“无宽度”属性(或width=“*”),这意味着它将以剩余区域作为列宽。

这是您可以做到的:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="3*" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>

    <TextBlock 
         Grid.Column="0" Padding="10" HorizontalAlignment="Left" 
         Text="{Binding Display}" FontSize="30" 
         />
    <TextBlock 
         Grid.Column="1" HorizontalAlignment="Right" 
         Text="{Binding Length}" FontSize="30"
         />
</Grid>

这将使第一列的宽度为75%,第二列的宽度为25%


如果希望第一列和第二列根据内容动态更改宽度,则可以将一个宽度设置为“自动”,另一个为“无宽度”属性(或width=“*”),这意味着它将以剩余区域作为列宽。

这是您可以做到的:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="3*" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>

    <TextBlock 
         Grid.Column="0" Padding="10" HorizontalAlignment="Left" 
         Text="{Binding Display}" FontSize="30" 
         />
    <TextBlock 
         Grid.Column="1" HorizontalAlignment="Right" 
         Text="{Binding Length}" FontSize="30"
         />
</Grid>

这将使第一列的宽度为75%,第二列的宽度为25%


如果希望第一列和第二列根据内容动态更改宽度,则可以将一个宽度指定为“自动”,另一个为“无宽度”属性(或width=“*”)这意味着它将以剩余区域作为列宽。

Columns defined Columns defined Columns defined列已定义,但如果没有,它将无法工作。这不是列的问题-默认情况下,Items ContentAligment设置为t