2013-12-17 32 views
16

Jak zrobić datagrid wpf wypełnić całą dostępną przestrzeń i zmienić rozmiar za pomocą okna? Pamiętaj, że datagrid znajduje się wewnątrz siatki.Jak utworzyć plik danych wpf wypełnić całą dostępną przestrzeń i zmienić rozmiar za pomocą okna?

+0

Pokaż swój kod. Siatka nadrzędna musi być odpowiednio skonfigurowana w zależności od 'kodu'. –

+0

Jako prośbę @dirt prosimy o wyświetlenie kodu. Generalnie nie używam 'Grid' z tego konkretnego powodu. Ilekroć potrzebuję dynamicznej zmiany rozmiaru kontrolek, używam 'DockPanel' i' StackPanel', aby rozmieścić kontrolki. Zapewnia dużą elastyczność, ponieważ 'DockPanel' wypełnia dostępną przestrzeń ostatnim zdefiniowanym logicznym dzieckiem – Sandesh

Odpowiedz

18

Powinieneś być w stanie to zrobić dla datagrid (lub dla jakiejkolwiek kontroli WPF) poprzez ustawienie HorizontalAlignment i VerticalAlignment do Stretch

Jeśli jest wewnątrz siatka, powinieneś być w stanie ustawić coś takiego

<Grid> <!-- parent grid or whatever --> 
    <DataGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ... > 
    </DataGrid> 
</Grid> 
+1

Możesz także ustawić' SizeToContent = "WidthAndHeight" 'na kontrolce' Window'. –

10
  1. Nigdy ustawić wysokość lub szerokość do niego lub jego formantu nadrzędnego
  2. Nie trzeba się martwić o poziomego i pionowego, ponieważ domyślnie poziomych i pionowych alig są rozciągliwe. Jeśli powyższe są prawidłowe rzeczy powinny działać :)
+0

To zadziałało dla mnie, okrzyki! – MushyPeas

4

Usuń wszystkie właściwości wysokości i szerokości kontroli nad nim. usunąć właściwość poziomą i pionową. Zdefiniuj wysokość wiersza jako * swojej siatki nadrzędnej.

+0

To nie jest siatka, to DataGrid – Xav987

0

Włóż DataGrid bezpośrednio do siatki bez owijania panelem.

<Grid> 
     <DataGrid> 
     </DataGrid> 
    </Grid>