2013-03-12 8 views
11

Utworzono nowy projekt z szablonu aplikacji Grid (XAML) (C# Windows Store). Do tej pory nic nie zmieniłem w szablonie, ale chciałbym zmienić kolor tła z określonego wiersza w siatce.C# Zmień wiersz określonego koloru tła

<!-- 
    This grid acts as a root panel for the page that defines two rows: 
    * Row 0 contains the back button and page title 
    * Row 1 contains the rest of the page layout 
--> 
<Grid Style="{StaticResource LayoutRootStyle}"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="140"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

Chciałbym zmienić kolor tła z wiersza 0 (który zawiera tytuł strony). Wszelkie pomysły? Z góry dziękuję!

Ten wiersz tworzą warstwy:

<!-- Back button and page title --> 
    <Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <Button x:Name="backButton" Click="GoBack" IsEnabled="{Binding Frame.CanGoBack, ElementName=pageRoot}" Style="{StaticResource BackButtonStyle}"/> 
     <TextBlock x:Name="pageTitle" Text="{StaticResource AppName}" Grid.Column="1" IsHitTestVisible="false" Style="{StaticResource PageHeaderTextStyle}"/> 
    </Grid> 

Odpowiedz

17

Nie można ustawić kolor tła na samej Grid.Row, zamiast ustawić właściwość tło na co zajmuje ten wiersz.

Przykładowo

<Grid Style="{StaticResource LayoutRootStyle}"> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="140"/> 
    <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Grid Background="Red" Grid.Row="0"> 
    <TextBlock>Test</TextBlock> 
    </Grid> 
</Grid> 

Edycja: Aktualizacja Silverlight; TextBlock nie ma tła, więc musisz umieścić kontrolkę w innym obramowaniu lub pojemniku siatki, który ma tło. Zaktualizowano kod, aby to odzwierciedlić.

+0

niestety element TextBlock nie zawiera od nieruchomości w tle. Zmodyfikowałem mój post, aby pokazać, które elementy są w tym wierszu. – user1951083

+0

Ah, moje przeprosiny, nie widziałem tagu silverlight na twoim poście, WPF TextBlock ma Tło. – Dutts

+0

Ale nie chcę zmieniać tła samego przycisku, musi to być cały wiersz. – user1951083

2

Jak o wstawienie granicę, gdzie jest to potrzebne

<Grid Style="{StaticResource LayoutRootStyle}"> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="140"/> 
    <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Border Background="Red" Grid.ColumnSpan="1"></Border> 
    <TextBlock>Test</TextBlock> 
    <Border Background="blue" Grid.Row="1" Grid.ColumnSpan="1"></Border> 
    <TextBlock Grid.Row="1">Test2</TextBlock> 
</Grid> 

pamiętać, że można EZa kolumny rozpiętość w przypadku zawierać więcej kolumn