Tôi muốn được thông báo về những thay đổi đối với VerticalOffset của thanh cuộn dọc của ScrollViewer. Trong WPF có một sự kiện ScrollViewer.ScrollChanged, nhưng trong Silverlight 3 này là mất tích. Có ai biết cách giải quyết không?Silverlight 3 thiếu ScrollViewer.ScrollSửa đổi sự kiện thay đổi?
9
A
Trả lời
6
Bạn có thể sử dụng liên kết phần tử, đây là một ví dụ ngớ ngẩn: -
<Grid x:Name="LayoutRoot" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="60" />
</Grid.RowDefinitions>
<ScrollViewer x:Name="ScrollSource">
<StackPanel>
<TextBlock>Hello</TextBlock>
<TextBlock>World</TextBlock>
<TextBlock>Yasso</TextBlock>
<TextBlock>Kosmos</TextBlock>
</StackPanel>
</ScrollViewer>
<TextBox Grid.Column="1" Text="{Binding VerticalOffset, ElementName=ScrollSource}" />
</Grid>
Khi ScrollViewer
là cuộn văn bản tài sản của TextBox được thông báo về giá trị mới.
3
Có một giải pháp dễ dàng hơn mà đặc trưng trên các diễn đàn Silverlight:
protected override Size ArrangeOverride(Size finalSize)
{
// Assumes you only have one scrollviewer (e.g. fullscreen ScrollViewer)
var scrollbar = LayoutRoot.GetVisualDescendants()
.OfType<ScrollBar>()
.FirstOrDefault();
if (scrollbar != null)
scrollbar.Scroll += ScrollBarScroll;
return base.ArrangeOverride(finalSize);
}
private void ScrollBarScroll(object sender, ScrollEventArgs e)
{
}
1
đây là một liên kết tốt mà tôi tìm thấy trong khi googling, nó cũng có một số mẫu mã mà tôi đã không kiểm tra ra.
http://dotplusnet.blogspot.com/2010/05/scrollviewer-scroll-change-event-in.html
Các vấn đề liên quan
- 1. Loại bỏ - Hủy sự kiện thay đổi?
- 2. C# PrintDocument Sự kiện đã thay đổi
- 3. jQuery - Sự kiện thay đổi sự kiện cháy
- 4. Sự kiện cho thay đổi văn bản
- 5. Sự kiện thay đổi thuộc tính javascript
- 6. jquery sự kiện thay đổi gọi lại
- 7. Sự kiện thay đổi bảng tính VBA
- 8. mô phỏng sự kiện thay đổi jquery
- 9. Sự kiện khi window.location.href thay đổi
- 10. Sự kiện thay đổi văn bản Backbone.js
- 11. Sự thay đổi tên lớp Sự kiện trong jQuery
- 12. Cách nhóm các tiện ích tổng hợp gwt thay đổi sự kiện dưới dạng sự kiện thay đổi
- 13. Phát hiện DataContext đã thay đổi trong Silverlight
- 14. Thay đổi nguồn sự kiện Fullcalendar sau khi hiển thị
- 15. Thay đổi mô hình trong sự kiện OnActionExecuting
- 16. TVirtualStringTree: Dữ liệu thay đổi giữa sự kiện OnMeasureItem và sự kiện OnGetText
- 17. sự kiện orientationchange bắn cuộn và thay đổi kích thước sự kiện
- 18. Kích thước văn bản thay đổi theo lập trình đang ngăn sự kiện thay đổi
- 19. Nhận thuộc tính đã thay đổi về sự kiện thay đổi
- 20. Hàng đợi sự kiện JSF ajax không hoạt động trên sự kiện hành động sau khi thay đổi sự kiện
- 21. Sự kiện khi Word 2007 thay đổi chủ đề
- 22. sự kiện onclick thay đổi jquery của href
- 23. Vị trí con trỏ đã thay đổi sự kiện
- 24. Thay đổi đã gắn liền xử lý sự kiện runtime
- 25. kích hoạt sự kiện khi thay đổi lớp học
- 26. jQuery - Sự kiện khi thuộc tính của nút thay đổi
- 27. Có sự kiện thay đổi kích thước UIView không?
- 28. thay đổi sự kiện của trường ẩn html
- 29. Tiêu đề cửa sổ Đã thay đổi sự kiện
- 30. Sự kiện thay đổi kích hoạt jquery trên hộp kiểm
Xin chân thành cảm ơn! Thay vì trong WPF chỉ đăng ký với sự kiện ScrollChanged, bây giờ tôi liên kết một thuộc tính phụ thuộc tùy chỉnh với VerticalOffset của trình xem cuộn và sử dụng một cuộc gọi lại cho thuộc tính phụ thuộc để có thể làm điều gì đó với các giá trị thay đổi trong mã. Ít nhất nó hoạt động: p – eriksmith200
http://www.wintellect.com/CS/blogs/jlikness/archive/2010/05/18/making-the-scrollviewer-talk-in-silverlight-4.aspx –