试图学习使用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" };
}
}
但是在启动模拟器时,我无法点击按钮,或输入文本框......
我该如何纠正?
谢谢你的帮助
答案 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>
这将使它可以点击,但是一旦你有了工作,你就会想要从页面内容中做一些重要的中继。