2011-01-18 36 views
7

Có khả năng ẩn DataGrid-hàng thông qua DataBinding:
Nếu tôi có các mục của BO hoặc một ViewModel có thuộc tính visibilty, có khả năng tuyên bố ràng buộc hay không hàng sẽ bị ẩn nếu thuộc tính được đặt thành ẩn và ngược lại?Wpf DataGrid ẩn hàng hoàn chỉnh thông qua DataBinding

+0

Nếu tất cả bị ràng buộc tại sao không đơn giản xóa dữ liệu mô hình trong bộ sưu tập sao lưu sao cho hàng đó bị "ẩn" và thêm dữ liệu mô hình trở lại "hiển thị"? –

+0

@Aaron: Đáng buồn là tôi không thể thay đổi nội dung của các bộ sưu tập nguồn. – HCL

Trả lời

15

Bạn có thể thực hiện điều đó qua RowStyle. Một cái gì đó như thế này:

<DataGrid> 
    <DataGrid.RowStyle> 
     <Style TargetType="DataGridRow"> 
      <Setter Property="Visibility" Value="{Binding Visibility}" /> 
     </Style> 
    </DataGrid.RowStyle> 
</DataGrid> 
+0

+1 và chấp nhận, hoạt động tuyệt vời! – HCL

+1

Tôi có thể thêm rằng thuộc tính ràng buộc của bạn phải xuất chuỗi "Đã thu gọn" cho hàng được thu gọn (không phải giá trị boolean). – Johncl

+0

+1 @Jjohncl: Đó là Bang On! –