2009-09-25 9 views
6

Moja typowa forma z siatki tak wyglądał w XAML:Czy istnieje sposób użycia siatki WPF bez określenia bezwzględnych współrzędnych komórki dla każdego elementu?

<Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"></ColumnDefinition> 
      <ColumnDefinition></ColumnDefinition> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"></RowDefinition> 
      <RowDefinition Height="Auto"></RowDefinition> 
      <RowDefinition Height="Auto"></RowDefinition> 
      <RowDefinition Height="Auto"></RowDefinition> 
      <RowDefinition Height="Auto"></RowDefinition> 
      <RowDefinition Height="Auto"></RowDefinition> 
     </Grid.RowDefinitions> 

     .... 

     <TextBlock Grid.Row="6" Text="Component"/> 
     <TextBox Grid.Row="6" Grid.Column="1" Text="{Binding Component.Name}"></TextBox> 
     <TextBlock Grid.Row="7" Text="Bussiness Process"/> 
     <TextBox Grid.Row="7" Grid.Column="1" Text="{Binding BusinessProcess.Name}"></TextBox> 

    </Grid> 

Czy istnieje sposób, aby uniknąć określania th dokładnym wiersz/kolumna współrzędne?

Zasadniczo chciałbym móc zmienić kolejność kontrolek w Gridzie szybko, kopiując XAML, a teraz muszę zmienić współrzędne, które są niezręczne. Nie chcę zmieniać ich kolejności w Projektancie, ponieważ dodaje ona niepotrzebne właściwości do elementów.

Odpowiedz

1

Nie, nie ma sposobu na uniknięcie numerów wierszy/kolumn. Jeśli nie chcesz instalować MS Blend, możesz wypróbować wspaniały i darmowy dodatek Visual Studio od Karla Shiffletta: XAML Power Toys. Pomiędzy innymi przydatnymi rzeczami, pozwala grać z komórkami siatki ...

+0

Niestety, to nie pomaga w przypadku "dodatkowych właściwości", ponieważ nadal używa programu VS Designer. Świetny zestaw narzędzi. –

+0

Wygląda świetnie, może po prostu wygenerować prosty formularz od podstaw, spróbuję! Spasibo) –

2

Nie. Niestety, siatka działa poprzez przypisanie właściwości określonych dla dzieci - muszą one być określone na każdym dziecku.

BTW - Blend radzi sobie lepiej z przenoszeniem tych rzeczy bez pojawiania się "dodatkowych" właściwości. Możesz spróbować oddać ten strzał w tego typu sytuacjach.

+1

Czy istnieje jakaś inna kontrola układu, która może organizować moje formanty w "kolumnach"? –

+1

Możesz użyć StackPanel z każdym "rzędem" zawierającym poziomo zorientowany stackpanel - w takim przypadku elementy będą wyrównane. Aby uzyskać idealną "siatkę", elementy musiałyby oczywiście mieć ten sam rozmiar. –

Powiązane problemy