2014-12-05 9 views
5

Użyłem CanUserResize = "True" dla kolumny datagrid, ale nie mogę zmienić rozmiaru, gdy najeżdżam kursorem na nagłówek kolumny.Zmiana rozmiaru kolumny datagrid za pomocą CanUserResize = "True" nie działa w 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

Przetestowałem to kod i to działa. Mogę zmienić rozmiar pierwszej kolumny, drugą można zmienić tylko wtedy, gdy siatka nie jest ustawiona tak, aby zajmowała całą szerokość kontenera nadrzędnego. Czy mógłbyś rozwinąć problem? –

+0

Czy to działa ...? Nie mogę zmienić rozmiaru samej pierwszej kolumny, nawet sama ikona zmiany rozmiaru (<-->) nie jest wyświetlana po najechaniu myszą. – Gowthaman

+0

Czy możesz umieścić swój kod w oknie w nowym projekcie WPF? W ten sposób nie można ingerować w style lub inny kod. –

Odpowiedz

6

odkąd zmienił szablon nagłówka kolumny DataGrid więc skalowanie nie będzie działała prawidłowo

więc dodać ten kod zmiany rozmiaru będzie działać ..

<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"/> 
Powiązane problemy