2012-04-27 13 views
8

Io ho:Che cos'è un modo semplice per impostare il colore della cella di sfondo per una CustomGrid?

<CustomControl:GridControl ShowCustomGridLines="True" Grid.Column="2" Grid.Row="0"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition /> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
       <RowDefinition /> 
       <RowDefinition /> 
      </Grid.RowDefinitions> 
     <TextBlock Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center" Name="txbCaption" Text="{Binding Caption}" /> 
      <CustomControl:GridControl ShowCustomGridLines="True" Grid.Column="2" Grid.Row="1"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition /> 
        <ColumnDefinition /> 
        <ColumnDefinition /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition /> 
       </Grid.RowDefinitions> 
       <TextBlock Grid.Column="0" Grid.Row="1" Text="П" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
       <TextBlock Grid.Column="1" Grid.Row="1" Text="Ф" HorizontalAlignment="Center" VerticalAlignment="Center" Background="Yellow" /> 
       <TextBlock Grid.Column="2" Grid.Row="1" Text="%" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
      </CustomControl:GridControl> 

voglio impostare lo sfondo delle celle di un controllo TextBox (dove Sfondo = "Giallo"). Impostare lo sfondo per un TextBox non aiuta perché ho bisogno di impostare il colore di sfondo per l'intera cella, anche se non c'è testo.

Come si può fare?

risposta

11

È possibile inserire un tipo di pannello in quell'area e impostarne il colore di sfondo. Ad esempio:

<Rectangle Fill="Black" IsHitTestVisible="False" Grid.Column="1" Grid.Row="1"/> 
2

La griglia WPF non sa cos'è una "cella". Metti un pannello lì e imposta il suo colore.

5

In alternativa, inserire un bordo nella cella, quindi qualsiasi controllo richiesto all'interno del bordo che imposta la proprietà del colore di sfondo del bordo.

<Border Grid.Column="0" Grid.Row="0" Background="#FF3C3C3F"> 
    <TextBlock>Some Text</TextBlock> 
</Border> 
3

Per impostare il colore di sfondo per un'intera riga o colonna, aggiungere questo nella definizione della riga o colonna:

<Grid Grid.Row="0" Grid.Column="0" Background="SomeColor"/> 

Dove si specifica il tuo cellulare con l'inserimento di riga + colonna. Quindi puoi inserire la tua casella di testo dove vuoi.

Problemi correlati