2015-12-31 91 views
-1

這段代碼應該產生一個4 x 3的筆記網格。 TextBlocks重疊一次產生。 填充是一次嘗試調整:失敗。重疊TextBlocks:爲什麼?

代碼:

PivotPage.xaml

<Page> 
    <Grid> 
     <Pivot x:Uid="Pivot" Title="MY APPLICATION" x:Name="pivot" CommonNavigationTransitionInfo.IsStaggerElement="True"> 
      <!--Pivot item one--> 
      <PivotItem 
       x:Uid="PivotItem1" 
       Margin="19,14.5,0,0" 
       CommonNavigationTransitionInfo.IsStaggerElement="True"> 
       <Grid> 
        <Grid.RowDefinitions> 
         <RowDefinition/> 
         <RowDefinition Height="1*"/> 
        </Grid.RowDefinitions> 
        <ItemsControl ItemsSource="{Binding strings}"> 
         <!-- 
        --> 
         <ItemsControl.ItemsPanel> 
          <ItemsPanelTemplate> 
           <WrapGrid MaximumRowsOrColumns="4" Orientation="Horizontal" /> 
          </ItemsPanelTemplate> 
         </ItemsControl.ItemsPanel> 
         <ItemsControl.ItemTemplate> 
          <DataTemplate> 
           <TextBlock Text="{Binding}" FontSize="64" Padding="27,0"/> 
          </DataTemplate> 
         </ItemsControl.ItemTemplate> 
        </ItemsControl> 
        <Button Grid.Row="1" Content="Box It!"/> 
       </Grid> 
      </PivotItem> 
     </Pivot> 
    </Grid> 
</Page> 

UPDATE:圖片

This is usually worse to the point where they're nearly on top of each other.

+0

可以顯示用戶界面? @sage – Aravin

+0

@Aravin:立即嘗試。它曾經更糟糕,但我想補丁有一點幫助。儘管如此,刪除填充物,它們略微在另一個之上。 –

+0

我沒有看到任何重疊。 –

回答

0

我想通了,我的問題,但有一點需要注意它。

首先回答:

PivotPage.xaml

<ItemsControl.ItemTemplate> 
    <DataTemplate> 
     <TextBlock Text="{Binding}" FontSize="64" Margin="24,20"/> 
    </DataTemplate> 
</ItemsControl.ItemTemplate> 

更改它從 「填充」,以 「保證金」,調整大小一點,它是固定的。

另外:

<Grid.RowDefinitions> 
    <RowDefinition/> 
    <RowDefinition Height="Auto"/> 
</Grid.RowDefinitions> 

製作高度「自動」,所以按鈕的行不保持周圍移動。

需要注意的是,每次運行程序時,網格的大小都會有所不同。出於這個原因,我建議(對自己)做更多的東西是這樣的:

    <Grid> 
         <Grid.RowDefinitions> 
          <RowDefinition/> 
          <RowDefinition/> 
          <RowDefinition/> 
          <RowDefinition/> 
         </Grid.RowDefinitions> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition/> 
          <ColumnDefinition/> 
          <ColumnDefinition/> 
         </Grid.ColumnDefinitions> 
         <TextBlock Grid.Row="0" Grid.Column="0" 
            Text="{Binding Notes[0],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="0" Grid.Column="1" 
            Text="{Binding Notes[1],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="0" Grid.Column="2" 
            Text="{Binding Notes[2],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="1" Grid.Column="0" 
            Text="{Binding Notes[3],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="1" Grid.Column="1" 
            Text="{Binding Notes[4],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="1" Grid.Column="2" 
            Text="{Binding Notes[5],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="2" Grid.Column="0" 
            Text="{Binding Notes[6],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="2" Grid.Column="1" 
            Text="{Binding Notes[7],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="2" Grid.Column="2" 
            Text="{Binding Notes[8],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="3" Grid.Column="0" 
            Text="{Binding Notes[9],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="3" Grid.Column="1" 
            Text="{Binding Notes[10],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
         <TextBlock Grid.Row="3" Grid.Column="2" 
            Text="{Binding Notes[11],FallbackValue=B♭}" 
            HorizontalAlignment="Center" VerticalAlignment="Center" 
            FontSize="64"/> 
        </Grid> 

這可能會讓人不悅,但只有十二音符,你不會有太大這樣做,它會保證網格在每次運行應用程序時保持相同的大小。

我仍然在尋找更好的解決方案,所以如果你有一個,請隨時這樣說。這是一個暫時的答案,直到我能更好地完成某件事。

順便說一句:爲了清晰起見,將「strings」替換爲「Notes」。

0

而是使用填充(提供內部間距有問題的元素)使用保證金的(它們提供外間隔所討論的內容。)

將解決你的問題立即