使用Pivot控件时无法单击按钮或写入文本框

时间:2010-10-22 07:14:57

标签: windows-phone-7 pivot

试图学习使用windows phone 7枢轴控制,我遇到了一种奇怪的行为。

我有这个xaml:

                                           

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Canvas Grid.Row="0">
            <TextBox Height="78" HorizontalAlignment="Left" Margin="108,33,0,0" Name="tb" VerticalAlignment="Top" Width="313" />
            <Button Content="Click Me" Height="78" HorizontalAlignment="Left" Margin="127,252,0,0" Name="button1" VerticalAlignment="Top" Width="213" Click="button1_Click" />
        </Canvas>
        <controls:Pivot Name="pivotCtrl" Grid.Row="1">
        <controls:Pivot.ItemTemplate>
            <DataTemplate>
                    <Grid>
                        <TextBlock Height="38" HorizontalAlignment="Left" Margin="29,381,0,0" Name="querytb" VerticalAlignment="Top" Width="200" Text="{Binding}" />
                    </Grid>
            </DataTemplate>
        </controls:Pivot.ItemTemplate>
    </controls:Pivot>
    </Grid>

我有这个代码:

public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();
    }


    private void button1_Click(object sender, RoutedEventArgs e)
    {
        pivotCtrl.ItemsSource = new List<string> { "abc", "def" };
    }
}

但是在启动模拟器时,我无法点击按钮,或输入文本框......

我该如何纠正?

谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

您有行高问题。 (记住,枢轴的设计几乎占据了整个页面的高度。)

如果您强制行高度足以显示其中包含的所有内容,那么您的按钮将是可点击的:

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="auto" />
            <RowDefinition Height="auto" />
        </Grid.RowDefinitions>
        <Canvas Grid.Row="0">
            <TextBox Height="78" HorizontalAlignment="Left" Margin="108,33,0,0" Name="tb" VerticalAlignment="Top" Width="313" />
            <Button Content="Click Me" Height="78" HorizontalAlignment="Left" Margin="127,252,0,0" Name="button1" VerticalAlignment="Top" Width="213" Click="button1_Click" />
        </Canvas>
        <controls:Pivot Name="pivotCtrl" Grid.Row="1">
            <controls:Pivot.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <TextBlock Height="38" HorizontalAlignment="Left" Margin="29,381,0,0" Name="querytb" VerticalAlignment="Top" Width="200" Text="{Binding}" />
                    </Grid>
                </DataTemplate>
            </controls:Pivot.ItemTemplate>
        </controls:Pivot>
    </Grid>

这将使它可以点击,但是一旦你有了工作,你就会想要从页面内容中做一些重要的中继。