2012-11-16 38 views
5

Tôi không biết tại sao Hình ảnh vượt qua đường viền phải của lưới, cách sửa chữa? Mã trông như thế:Hình ảnh ngoài lưới

<Grid> 
     <Grid Name="grid1"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="260" /> 
       <ColumnDefinition Width="640" /> 
      </Grid.ColumnDefinitions> 
      <Image Grid.Column="1" HorizontalAlignment="Stretch" Margin="0" Name="image1" Stretch="Fill" VerticalAlignment="Stretch" Source="path.png"/> 
      <ListView Height="361" HorizontalAlignment="Left" Margin="10,10,0,0" Name="listView1" VerticalAlignment="Top" Width="240" ItemsSource="{Binding}" /> 
      <Button Content="Add New Gesture" Height="39" HorizontalAlignment="Left" Margin="10,387,0,0" Name="button1" VerticalAlignment="Top" Width="112" Click="button1_Click" /> 
      <Button Content="Delete" Height="39" HorizontalAlignment="Left" Margin="191,387,0,0" Name="button2" VerticalAlignment="Top" Width="59" /> 
      <Button Content="Modify" Height="39" HorizontalAlignment="Left" Margin="128,387,0,0" Name="button3" VerticalAlignment="Top" Width="57" /> 
     </Grid> 
    </Grid> 

Trả lời

2

này trông giống như một tác động của độ rộng cố định bạn đã cài đặt (Có lẽ tổng của độ rộng cột cố định của bạn là lớn hơn chiều rộng cửa sổ cố định?) Điều đó sẽ gây ra các tế bào lưới (và hình ảnh) để thoát khỏi chế độ xem.

Nếu bạn muốn hình ảnh để lấp đầy toàn bộ không gian còn lại trong cửa sổ, thay đổi thứ hai ColumnDefinition chiều rộng của bạn để "*" thay vì 640:

<ColumnDefinition Width="*" /> 
0

EDIT: Nó chỉ ra điều này là sai và nó không phải là một giải pháp khả thi. Xin lỗi

Ok, do đó, thực sự không rõ vấn đề của bạn chính xác là gì. Nếu bạn cung cấp thêm một số chi tiết, mọi người sẽ có thể giúp bạn dễ dàng hơn. Từ những gì tôi có thể hiểu (và điều này có thể hoàn toàn sai), bằng cách nói rằng hình ảnh "vượt qua biên giới bên phải lưới" bạn có nghĩa là hình ảnh chỉ nên hiển thị trong một cột, nhưng nó 'chồng chéo' vào cột tiếp theo.

này có thể tránh được bằng cách thêm thuộc tính sau để kiểm soát hình ảnh:

Grid.ColumnSpan="1" 

Vì vậy, nó sẽ là:

<Image Grid.Column="1" Grid.ColumnSpan="1" HorizontalAlignment="Stretch" Margin="0" Name="image1" Stretch="Fill" VerticalAlignment="Stretch" Source="path.png"/> 

này sẽ ngăn chặn các hình ảnh từ tràn vào các cột khác, và hạn chế Như tôi đã nói trước đây tôi không hoàn toàn chắc chắn rằng tôi hiểu vấn đề của bạn, nhưng nếu bạn cung cấp một số chi tiết hơn, tôi sẽ sẵn sàng cố gắng sửa lại câu trả lời của tôi để giúp bạn tốt hơn. Ngay bây giờ, mặc dù đây là điều tốt nhất tôi có thể làm.

+0

Bạn đã thử nghiệm phương pháp này chưa? Thông thường 'ColumnSpan' được sử dụng để cho một mục bao gồm nhiều cột, không phải để hạn chế nó thành chỉ một. Ngoài ra, tôi nghĩ mặc định cho 'ColumnSpan' là 1 dù sao, do đó, đặt nó rõ ràng không thay đổi bất kỳ điều gì trong trường hợp này. – WildCrustacean

+0

Tôi không, nhưng hóa ra bạn đúng. Cảm ơn vì đã sửa tôi :) – opp

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