Невозможно нажать на кнопку или написать в текстовом поле при использовании элемента управления Pivot - PullRequest
0 голосов
/ 22 октября 2010

Пытаясь научиться работать с 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 голосов
/ 22 октября 2010

У вас проблема с высотой строки.(Помните, что сводная таблица предназначена для того, чтобы занимать почти всю высоту страницы.)

Если вы сделаете так, чтобы высоты строк были достаточно большими, чтобы отобразить все, что они содержат, тогда ваша кнопка будет кликабельной:

    <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>

Это сделает его кликабельным, но как только вы заработаете эту работу, вы захотите сделать несколько важных ретрансляций из содержимого страницы.

...