2012-04-27 7 views
8

Tengo:¿Cuál es una manera simple de establecer el color de la celda de fondo para un 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> 

Quiero configurar el fondo de la celda de un cuadro de texto (donde Antecedentes = "Amarillo"). Establecer el fondo para un TextBox no ayuda porque necesito establecer el color de fondo para toda la celda, incluso si no hay texto.

¿Cómo se puede hacer esto?

Respuesta

11

Puede colocar algún tipo de panel en esa área y establecer su color de fondo. Por ejemplo:

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

La cuadrícula WPF no sabe qué es una "celda". Pon un panel allí y establece su color.

5

Como alternativa, coloque un borde en la celda, luego el control requerido dentro del borde configurando la propiedad de color de fondo del borde.

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

Para establecer el color de fondo de una fila o columna, añadir esto en la definición de fila o columna:

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

donde se especifica su celular mediante la inserción fila + columna. Luego puede insertar su cuadro de texto donde lo desee.

Cuestiones relacionadas