枢轴控制的布局问题

时间:2011-02-05 14:59:00

标签: silverlight windows-phone-7

我有一个Pivot,没有任何异常,并且列表框显示在我想要的左上角:

    <c:Pivot
      Title="QUESTIONNAIRE"
      ItemsSource="{Binding ViewModels}">

      <c:Pivot.HeaderTemplate>
        <DataTemplate>
          <TextBlock
            Text="{Binding HeaderText}" />
        </DataTemplate>
      </c:Pivot.HeaderTemplate>

      <c:Pivot.ItemTemplate>
        <DataTemplate>
          <ListBox>
            <ListBoxItem>
              <TextBlock>ListboxItemText</TextBlock>
            </ListBoxItem>
          </ListBox> 
        </DataTemplate>
      </c:Pivot.ItemTemplate>

    </c:Pivot>
  </Grid>

但是当我将其拆分为在Application.Resources中使用DataTemplate时,列表框是垂直和水平居中的。如何将其恢复到左上角?

  <DataTemplate x:Name="datatemplateSample">
      <ListBox
        ItemContainerStyle="{StaticResource styleSelect}"
        SelectedIndex="{Binding Value}">
        <ListBoxItem>
          <TextBlock>ListboxItemText</TextBlock>
        </ListBoxItem>
      </ListBox>
  </DataTemplate>

    <c:Pivot
      Title="QUESTIONNAIRE"
      ItemsSource="{Binding ViewModels}">

      <c:Pivot.HeaderTemplate>
        <DataTemplate>
          <TextBlock
            Text="{Binding HeaderText}" />
        </DataTemplate>
      </c:Pivot.HeaderTemplate>

      <c:Pivot.ItemTemplate>
        <app:PivotDataTemplateSelector Content="{Binding}" />
      </c:Pivot.ItemTemplate>

    </c:Pivot>

  </Grid>

我想我一定错过了一些明显的东西!

由于

安德鲁

2 个答案:

答案 0 :(得分:0)

尝试在HorizontalContentAlignment上设置LeftVerticalContentAlignmentTopPivot

答案 1 :(得分:0)

当您创建ListBox控件本身时,请指定显式高度和宽度,并将其放在StackPanel内。例如。

这样的事情:

<DataTemplate x:Name="datatemplateSample">
  <StackPanel>
      <ListBox
        Height="480" Width="400"
        ItemContainerStyle="{StaticResource styleSelect}"
        SelectedIndex="{Binding Value}">
        <ListBoxItem>
          <TextBlock>ListboxItemText</TextBlock>
        </ListBoxItem>
      </ListBox>
  </StackPanel>
</DataTemplate>