2011-12-15 32 views
10

Tôi đang làm việc với XAML trong Windows 8 Metro.Làm thế nào để loại bỏ phần dư thừa xung quanh Nút?

Tôi có một mạng lưới có nhiều hàng. Hàng đầu tiên chứa một nút và hình thứ hai là một hình ảnh. Hình ảnh có chiều rộng 600 đơn vị và nút có nội dung hình ảnh. Vấn đề là không có vấn đề làm thế nào tôi phong cách nút, cạnh trái của nó không phù hợp với cạnh trái của hình ảnh. Trong khi vuốt xung quanh với các cài đặt, có vẻ như nút bao gồm một lề ngoài biên giới, mặc dù tôi đã đặt lề (và đệm và độ dày biên giới) của nút thành 0.

Vị trí này biên giới đến từ đâu? Làm sao để tôi bỏ nó đi? Tôi đã thử tạo kiểu tùy chỉnh với giá trị Mẫu (bên dưới) nhưng nó bỏ qua các cài đặt kiểu khác của tôi. Tôi không thể tìm thấy nhiều tài liệu hữu ích về cách xây dựng mẫu - hoặc thậm chí nếu đó là vấn đề.

<Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="Button"> 
      <Grid> 
       <ContentPresenter Content="{TemplateBinding Content}" Margin="0" /> 
      </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
</Setter> 
+0

Điều này có vẻ là một lỗi. Các nút có nội dung Hình ảnh hiển thị hai pixel ở bên phải các nút không có nội dung hình ảnh; điều này dễ thấy hơn trong bảng điều khiển ngăn xếp dọc. Và có thể có ma thuật phân số pixel gây ra ranh giới giả không ổn định khi di chuột qua. – AndrewS

Trả lời

15

Điều này thực sự gây phiền toái. Các giải pháp mà dường như làm việc đối với tôi là:

<Button Background="Crimson" 
    HorizontalAlignment="Stretch" 
    VerticalAlignment="Stretch" 
    BorderThickness="0" 
    Margin="-3">Click me!</Button> 

Bí quyết là ở giá trị tiêu cực của lề.

+0

cũng xuất hiện để làm việc, nhờ ... giá trị margin âm có vẻ rất sai với tôi, nhưng bất cứ điều gì làm việc! – AndrewS

+2

Có giải pháp nào tốt hơn cho điều này không? Tôi hiện đang phải sử dụng phương pháp này, nhưng khi độ phân giải màn hình cao hơn, nút trông khó coi khi nút "phù hợp" trong không gian và có mức chênh lệch âm. ContentTemplates dường như là con đường để đi, nhưng tôi vẫn chưa tìm ra. – Karl

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