试试这个:
<Grid>
<DataGrid Name="tabela"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
IsReadOnly="True"
AlternatingRowBackground="#eeeeee"
ItemsSource="{Binding}"
AutoGenerateColumns="False"
RowDetailsVisibilityChanged="tabela_RowDetailsVisibilityChanged"
SelectionChanged="tabela_SelectionChanged" >
</DataGrid>
</Grid>
如果希望控件根据其父级大小调整大小(在本例中是您的窗口),则无法设置
Width
和
Height
完全你可以玩
MinWidth
,
MinHeight
MaxWidth
和
MaxHeight
如果您愿意,但在大多数情况下,控件只是拉伸以占用所有可用空间。它是由
HorizontalAlignment="Stretch"
和
VerticalAlignment="Stretch"
(在大多数情况下,这些都是默认值,但我已经明确设置了它们,以防在其他地方被覆盖)。
另一件事是如果你建立一个
Grid
具有
ColumnDefinitions
RowDefinitions
,如果你不使用它,就不要这样做。只是
网格
足以作为单个控件的容器,例如
DataGrid
. 如果你设置了
Rows
Columns
宽度
和
身高
到三种值类型之一:
-
精确值(例如100)
-
Auto
-
排
柱
-
*
-这是一个比例标记,因此当你有三个星号时,将星号宽度设置为一列,将使该列占据所有可用空间。另一方面,如果有两列
Width="*"
到第一个和
Width="2*"
对于第二个,所有可用空间将分为3个部分,第一列将获得其中的1/3,第二列将获得其中的2/3(您可以随心所欲地玩它)。