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をtemplateselectorに追加する必要がありました。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 に答える