Como fazer com que a última coluna do DataGrid ocupe todo o espaço da esquerda?
Primeiro! Eu sei que isso pode parecer uma espécie dedup no entanto não é.
Eu tenho uma grade como um modelo de dados paraDataGrid.RowDetails
. Tem três colunas: duas comWidth="Auto"
e o 3d comWidth="*"
<DataTemplate x:Key="NotEmptyDistributionsTemplateKey">
<DataGrid ItemsSource="{Binding SoftwareVersionDistributions}"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="False"
CanUserResizeColumns="True"
CanUserSortColumns="False"
IsReadOnly="True"
CanUserResizeRows="False"
AutoGenerateColumns="False"
RowHeaderWidth="0"
Margin="20,5"
HorizontalAlignment="Stretch">
<DataGrid.Columns>
<DataGridTextColumn
Header="Architecture"
Binding="{Binding SoftwareArchitecture.Name, TargetNullValue=Все, FallbackValue=Все}"
Width="Auto"/>
<DataGridTextColumn
Header="Language"
Binding="{Binding SysCodepage.Title, TargetNullValue=Все, FallbackValue=Все}"
Width="Auto"/>
<DataGridHyperlinkColumn
Header="Link"
Binding="{Binding DownloadLink}"
Width="*"
CanUserResize="False"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
Este modelo mostra exatamente 3 colunas, se a grade estiver aninhada em uma célula. Mas quando é usado comoRowDetaislTemplate
4a coluna vazia aparece. Isso me deixa louco.
Alguém tem idéias porque isso pode acontecer?
Atualização 1. Como parece:
Atualização 2.
Finalmente encontrei a alma. Acabou de adicionarScrollViewer.HorizontalScrollBarVisibility="Disabled"
Agora está tudo bem
Mas não consigo entender esse comportamento estranho.
Atualização 3 (pode ser útil para alguém)
Recentemente, encontramos um bug que nossos usuários tinham e os desenvolvedores não. O bug foi novamente sobre a largura e o alinhamento do DataGrid. Bem, pode ser que isso não seja realmente um bug, mas tivemos um comportamento diferente do controle.
A pesquisa revelou que, ao instalar o instalador do .net framework 4.5, também foi atualizado o .net framework 4.0. Esta atualização mudou de alguma forma o comportamento do DataGrid. (para o esperado)
Pedimos aos nossos usuários para instalar o framework 4.5 e o problema desapareceu. Embora o nosso aplicativo ainda alveja o .net 4.0