Tôi đang làm việc trên một ứng dụng bao gồm một mẫu đăng ký. Biểu mẫu chứa nhiều hộp nhập văn bản và vì vậy một ScrollViewer được sử dụng để cho phép tất cả chúng được hiển thị trên một trang.Scrollviewer & SIP Issue (WP7.5 Mango)
Sau đây là một tước xuống ví dụ về mã XAML Tôi đang sử dụng:
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="SCROLLVIEWER TEST" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="registration" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<ScrollViewer Grid.Row="1">
<StackPanel>
<TextBlock Text="Hello" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="Hello1" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="Hello2" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="Hello3" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="Hello4" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="Hello5" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="Hello6" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="Hello7" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="Hello8" Margin="12,0,0,0"/>
<TextBox />
<TextBlock Text="END" Margin="12,0,0,0"/>
<TextBox />
</StackPanel>
</ScrollViewer>
</Grid>
(Lưu ý rằng ScrollViewer là bên trong một tế bào lưới, có nghĩa là bảng tiêu đề nên ở lại trên màn hình bất cứ lúc nào)
Việc cuộn hoạt động hoàn toàn tốt, vì vậy đó không phải là vấn đề. Tuy nhiên, khi người dùng chọn một TextBox để nhập dữ liệu (tức là bàn phím mềm mở), hệ thống sẽ đẩy nội dung của toàn bộ trang xung quanh (bao gồm cả bảng tiêu đề đăng ký), hành vi này không được mong đợi. [Xem ứng dụng Liên hệ trên Windows Phone và thử thêm liên hệ mới. Này chứa một cấu trúc tương tự, nhưng ScrollViewer cư xử một cách chính xác bằng cách chỉ đẩy nội dung trong ScrollViewer lên]
Test Cases
- Chọn một TextBox đó là có thể nhìn thấy gần phía trên cùng của màn hình, để mở bàn phím.
- Cố gắng cuộn xuống cuối trang bằng bàn phím mở.
- Các mục ở cuối trang không thể truy cập được.
hoặc
- Chọn một TextBox đó là có thể nhìn thấy gần dưới cùng của màn hình.
- Nội dung của toàn bộ trang được đẩy lên.
- Cố gắng cuộn lên đầu trang bằng bàn phím mở.
- Các mục ở đầu trang không thể truy cập được và bảng điều khiển tiêu đề không bao giờ trở lại chế độ xem cho đến khi bàn phím bị đóng.
Bất kỳ trợ giúp nào về giải quyết vấn đề này sẽ được đánh giá cao. Cảm ơn.
Bài đăng trên blog sau đây có thể là điểm khởi đầu tốt để giải quyết vấn đề này: http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/ –
@PaulDiston Cảm ơn bạn. Tôi đã đọc blog này trước đây. Tôi đã thử các ứng dụng demo và nó không phải là những gì tôi đang tìm kiếm. Quá trình chuyển đổi rất đột ngột (tức là bảng điều khiển tiêu đề vừa xuất hiện lại khi hoạt ảnh SIP hoàn tất), chưa kể rằng việc triển khai quá mức cho một thứ đơn giản như vậy. Triển khai dự định của tôi là khớp với biểu mẫu chi tiết liên hệ mà bạn tìm thấy trong ứng dụng "Mọi người" được bao gồm trong Windows Phone 7 để quản lý danh bạ và địa chỉ. Đây không phải là một ví dụ phức tạp, và người ta sẽ mong đợi điều này để làm việc ra khỏi hộp và không bao gồm các mục trong biểu mẫu. –
Hãy thử điều này quá nếu nó có thể giúp với vấn đề di chuyển. http://www.luisleo.net/2012/06/24/how-to-use-listbox-properly-with-windows-phone-7/ –