Mam ItemsControl zawierający numer dynamicznie changable z datagrids:Stosowanie tej samej wysokości dla wszystkich DataGridColumns gdy maxwidth z nagłówka jest ustawiona
<ItemsControl ItemsSource="{Binding Table.Columns}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Stretch"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplateSelector>
<local:ColumnTemplateSelector InputParameterColumnTemplate="{StaticResource InputParamterColumn}"
SingleParameterColumnTemplate="{StaticResource SingleParameterColumn}"/>
</ItemsControl.ItemTemplateSelector>
</ItemsControl>
Szablon dla „SingleParameterColumn” jest zdefiniowane tak:
<DataTemplate x:Key="SingleParameterColumn">
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Cells}"
RowHeight="25" RowHeaderWidth="0" >
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}"
TextWrapping="Wrap"
TextAlignment="Center"
MaxWidth="60">
</TextBlock>
<Button>
<Image ... />
</Button>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplateSelector>....
</DataGridTemplateColumn.CellTemplateSelector>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
Zawsze jest jeden InputParameterColumn
i co najmniej jeden SingleParameterColumn
. Nazwa InputParameterColumn
ma stałą nazwę nagłówka, natomiast nagłówek SingleParameterColumn
może być dowolnie długi.
Ponieważ nie chcę mieć bardzo szerokich kolumn, zdefiniowałem MaxWidth
z TextBlock
w szablonie nagłówka na 60, co powoduje, że nagłówek jest wyższy, jeśli nazwa kolumny jest bardzo długa.
Powoduje to, że kolumny mają różne wysokości w zależności od długości nazwy nagłówka.
Czy jest jakiś sposób, aby dowiedzieć się, jak wysoki jest najwyższy nagłówek w mojej ItemsControl, a następnie ustawić taką samą wysokość dla wszystkich innych nagłówków, aby moje kolumny miały ten sam rozmiar?
można pokazać zrzut ekranu, co jest doświadczony? – OmegaMan
Oto zrzut ekranu: http://s14.postimg.org/kxhfvh9gh/Capture.png Chciałbym mieć wszystkie nagłówki na tej samej wysokości, aby wiersze mogły być wyrównane. – mobearette
To dziwne, właśnie wypróbowałem twój kod, a moje komórki nagłówkowe miały taki sam rozmiar automatycznie ... Czy edytowałeś szablon DataGrid? Czy jest coś na HeaderTemplate, że nas nie pokazujesz? – almulo