1

我想按照本教程使用绑定来填充我的数据透视页。它工作得很好,除了 1 个事实。我的内容没有发挥最大潜力。

普通的:

正常按钮填充

XAML:

<controls:Pivot Title="MY APPLICATION">
    <!--Pivot item one-->
    <controls:PivotItem Header="item1">
        <Button Content="test" />
    </controls:PivotItem>

    <!--Pivot item two-->
    <controls:PivotItem Header="item2">
        <Grid/>
    </controls:PivotItem>
</controls:Pivot>

带绑定:

装订按钮填充

XAML:

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="TheShopApp.UI.ViewModels.TestPivotItemViewModel">
        <Button Content="Test" />
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

<controls:Pivot Title="{Binding Path=ApplicationName}" ItemsSource="{Binding Path=PivotItems}">
    <controls:Pivot.HeaderTemplate>
        <DataTemplate>
            <Grid x:Name="grid">
                <TextBlock TextWrapping="Wrap"
                    Text="{Binding PivotTitle}"
                    d:LayoutOverrides="Width, Height" />
            </Grid>
        </DataTemplate>
    </controls:Pivot.HeaderTemplate>
    <controls:Pivot.ItemTemplate>
        <DataTemplate>
            <helpers:DataTemplateSelector Content="{Binding}" />
        </DataTemplate>
    </controls:Pivot.ItemTemplate>
</controls:Pivot>

所以现在我的问题是:我怎样才能让我的绑定内容看起来像正常内容?我发现这个问题有点相同,但我不知道如何实现它。

4

1 回答 1

4

我需要将以下 XAML 添加到模板选择器:HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"

XAML:

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="TheShopApp.UI.ViewModels.TestPivotItemViewModel">
        <Button Content="Test" />
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

<controls:Pivot Title="{Binding Path=ApplicationName}" ItemsSource="{Binding Path=PivotItems}">
    <controls:Pivot.HeaderTemplate>
        <DataTemplate>
            <Grid x:Name="grid">
                <TextBlock TextWrapping="Wrap"
                    Text="{Binding PivotTitle}"
                    d:LayoutOverrides="Width, Height" />
            </Grid>
        </DataTemplate>
    </controls:Pivot.HeaderTemplate>
    <controls:Pivot.ItemTemplate>
        <DataTemplate>
            <helpers:DataTemplateSelector HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Content="{Binding}" />
        </DataTemplate>
    </controls:Pivot.ItemTemplate>
</controls:Pivot>
于 2012-10-05T09:00:18.047 回答