2014-12-05 23 views
5

Tôi đã sử dụng CanUserResize = "True" cho cột dữ liệu nhưng tôi không thể thay đổi kích thước khi di chuột lên tiêu đề cột.Thay đổi kích thước cột dữ liệu với CanUserResize = "True" không hoạt động trong 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

Tôi đã thử nghiệm này và nó hoạt động. Tôi có thể thay đổi kích thước cột đầu tiên, cột thứ hai chỉ có thể được thay đổi kích cỡ nếu lưới không được đặt để lấy toàn bộ chiều rộng của vùng chứa mẹ. Bạn có thể giải thích về vấn đề này không? –

+0

Có hoạt động ..? Tôi không thể thay đổi kích cỡ cột Đầu tiên ngay cả biểu tượng thay đổi kích thước (<-->) chính nó không được hiển thị khi di chuột. – Gowthaman

+0

Bạn có thể đăng mã của mình trong một cửa sổ trong một dự án WPF mới không? Bằng cách này, không thể can thiệp vào kiểu hoặc mã khác. –

Trả lời

6

Kể từ khi tôi đã thay đổi Template của tiêu đề cột DataGrid nên thay đổi kích thước sẽ không hoạt động đúng

để thêm mã này thay đổi kích thước sẽ làm việc ..

<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"/> 
Các vấn đề liên quan