2012-12-03 19 views
6

Tôi đang tạo ứng dụng cho Windows Phone, tôi đã cố gắng để có được InputScope của hộp văn bản chính thay đổi khi định hướng được thay đổi thành ngang (để bàn phím chiếm ít không gian hơn trong cảnh quan mà không có thanh tự động sửa) và ngược lại.WP7/8 thay đổi InputScope động sau một sự kiện sử dụng C#

Tôi đã thử nghiệm với hộp văn bản thứ hai và ẩn những người khác khi thay đổi định hướng, nhưng điều này không hoạt động gọn gàng. : P

Hãy thử làm như tôi không thể làm việc này và không thể thay đổi giá trị InputScope sau đối số OrientationChangedEvent, đã làm việc tốt trong việc thay đổi vị trí của các phần tử của trang quanh hướng.

Tôi vẫn còn khá mới để phát triển ứng dụng với C# và XAML, và tôi hy vọng có một cách dễ dàng để đặt InputScope của hộp văn bản mà một trong những người tuyệt vời của bạn có thể chỉ cho tôi!

-EDIT: Đây là xử lý sự kiện, tất cả mọi thứ bên trong có làm việc hoàn toàn tốt, nhưng bất kỳ cách nào tôi cố gắng thêm bất cứ điều gì để làm với InputScope không hoạt động :(

private void MainPage_OrientationChanged(object sender, OrientationChangedEventArgs e) 
    { 
     if ((e.Orientation & PageOrientation.Portrait) == (PageOrientation.Portrait)) 
     { 
      //Portrait 
      PlaceholderText.FontSize = 29.333; 
      PlaceholderText.Padding = new Thickness (0,0,0,0); 
      MainTweet.FontSize = 29.333; 
      MainTweet.Padding = new Thickness (12,8,12,8); 
      Counter.Margin = new Thickness (0,212,28,0); 
     } 
     else 
     { 
      //Landscape 
      PlaceholderText.FontSize = 23; 
      PlaceholderText.Padding = new Thickness (8,0,0,0); 
      MainTweet.FontSize = 22; 
      MainTweet.Padding = new Thickness (16,8,180,0); 
      Counter.Margin = new Thickness (0,-18,28,0); 
     } 
    } 

MainTweet.Text là hộp đó bàn phím được tập trung theo mặc định, khi trang được thay đổi thành phong cảnh Tôi muốn có thể thay đổi điều này từ "Tìm kiếm" InputScope thành một cái khác, có thể là "URL". khi định hướng được thay đổi, tôi đánh giá cao nó có thể không trông gọn gàng ...

+0

bạn có thể đăng một số mã để xem chúng tôi có thể trợ giúp ở đâu? –

+0

Sắp xuất hiện! – huntie

Trả lời

5

Có nhiều "định hướng" es trong liệt kê - không chỉ PortraitLandscape. Sau đây là làm việc cho tôi để thay đổi phạm vi (trên Windows Phone 7.5 giả lập):

if (e.Orientation == PageOrientation.Landscape 
    || e.Orientation == PageOrientation.LandscapeRight 
    || e.Orientation == PageOrientation.LandscapeLeft) 
{ 
    InputScope inputScope = new InputScope(); 
    InputScopeName inputScopeName = new InputScopeName(); 
    inputScopeName.NameValue= InputScopeNameValue.Url; 
    inputScope.Names.Add(inputScopeName); 
    textBox1.InputScope = inputScope; 
} 

Vì vậy, bạn muốn thả đó vào handler MainPage_OrientationChanged sự kiện của bạn.

+0

THANK YOU vì cực kỳ hữu ích! Tôi sẽ làm việc đó ngay bây giờ và xem :) – huntie

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