2014-12-05 11 views
5

Ho usato CanUserResize = "True" per la colonna datagrid ma non riesco a ridimensionare mentre si passa il mouse sull'intestazione della colonna.Ridimensionamento della colonna datagrid con CanUserResize = "True" non funziona in WPF

<DataGrid x:Name="ScenarioExecutables" AutoGenerateColumns="False" CanUserAddRows="False" RowHeaderWidth="0" Margin="10" FontSize="14" 
       Grid.Row="1" CanUserResizeColumns="True"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Scenario" Width="1*" IsReadOnly="True" CanUserResize="True"> 
       <DataGridTextColumn.ElementStyle> 
        <Style TargetType="TextBlock"> 
         <Setter Property="TextWrapping" Value="Wrap"/> 
        </Style> 
       </DataGridTextColumn.ElementStyle> 
     </DataGridTextColumn> 
      <DataGridTextColumn Header="Description" Width="2*" CanUserResize="True"/> 
    </DataGrid.Columns> 
</DataGrid> 
+0

Ho provato questo codice e funziona. Posso ridimensionare la prima colonna, la seconda può essere ridimensionata solo se la griglia non è impostata per occupare tutta la larghezza del contenitore genitore. Potresti approfondire il problema? –

+0

Funziona ..? Non riesco a ridimensionare la prima colonna stessa, neanche l'icona di ridimensionamento (<-->) non è visualizzata al passaggio del mouse. – Gowthaman

+0

Puoi pubblicare il tuo codice in una finestra in un nuovo progetto WPF? In questo modo non ci possono essere stili interferenti o altro codice. –

risposta

6

Dato che avevo cambiato il modello dell'intestazione della colonna DataGrid in modo che il ridimensionamento non funziona correttamente

quindi aggiungere questo codice il ridimensionamento funzionerà ..

<Thumb x:Name="PART_RightHeaderGripper" Grid.Column="1" 
             HorizontalAlignment="Right" 
             Width="2" BorderThickness="1" 
             BorderBrush="{Binding VerticalGridLinesBrush, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}}" 
             Cursor="SizeWE"/>