2012-08-03 41 views

Trả lời

4

Nhìn vào câu hỏi này: Disable cross-slide selection for a listview

Bạn cũng có thể thay đổi các mẫu để loại bỏ bất kỳ quốc gia trực quan và adornments - đi đến nhà thiết kế và kích chuột phải vào ListView/Edit Templates bổ sung của bạn/Chỉnh sửa vùng chứa mục đã tạo (ItemContainerStyle)/Chỉnh sửa bản sao ... - sẽ trích xuất mẫu bạn có thể sửa đổi bằng cách sử dụng phương thức ưa thích của bạn.

+0

Đáng buồn là phong cách mở rộng không còn được tạo ra bởi Blend (nó chỉ tạo ra mặc định), nhưng nó có sẵn từ msdn http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj709921.aspx. – mydogisbox

+0

Vâng, tôi nghĩ rằng mẫu 'ListViewItem' hiện tại rất đơn giản - tôi nghi ngờ nó thực sự được kết xuất ở mức nền tảng/trình kết xuất để cải thiện hiệu suất và vì vậy nếu bạn muốn tùy chỉnh nó - bạn đang thực sự làm phức tạp mẫu. –

+0

vâng, thật đáng buồn, tôi đã không tìm ra một cách tốt hơn để vô hiệu hóa tất cả các hình ảnh động nhấp vào mục trong khi vẫn giữ lại ScrollIntoView. – mydogisbox

3

Sau khi một số googling tôi thấy rằng làm nổi bật xảy ra trong ListViewItemPresenter, mà hóa ra là khá ẩn. Nó nằm bên trong ControlTemplate của một ListViewItem, đó là ItemContainer cho ListView. Cách đơn giản nhất tôi đã tìm thấy để vô hiệu hóa tác dụng là chỉ cần ghi đè ControlTemplate này:

<ListView> 
<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate> 
        <ContentPresenter/> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</ListView.ItemContainerStyle> 
<TextBlock Text="List Item" /> 
... 
<TextBlock Text="List Item" /> 

nguồn: http://jonstodle.com/soap-box/uwp-listview-without-highlighting-and-stuff/

+0

nhưng xin lưu ý điều này sẽ phá vỡ sự truy cập của kiểm soát .. –

Các vấn đề liên quan