2015-05-25 21 views
5

Tôi tạo ra một dự án Pivot trên Visual Studio 2013.ngày Định dạng hiển thị trên DatePicker

Tôi tạo ra sự kiểm soát sau:

<DatePicker Header="Data" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0" Width="341"/> 

Khi tôi gõ vào nó trên điện thoại của tôi, nó sẽ hiển thị ngày như M/D/Y. Có thể hiển thị nó dưới dạng D/M/Y không?

Ngoài ra, không biết tôi có nên tạo một câu hỏi khác không, nhưng làm cách nào tôi có thể dịch sang pt-BR tên ngày/tháng được hiển thị trong tầm kiểm soát? Cũng như "Chọn ngày".

enter image description here

Trả lời

2

Các DatePicker định dạng đang sử dụng ngôn ngữ và khu vực ưa thích của người dùng. Kiểm soát này sẽ tự động trông khác nhau, cho khu vực của tôi đó là ngày/tháng/năm như bạn muốn nó được. Tôi đã cố gắng để buộc các kiểm soát để sử dụng ngôn ngữ khác, nhưng nó có vẻ là lấy nó trực tiếp từ cài đặt điện thoại. Một số thông tin bạn có thể tìm thấy tại đây tại MSDN:

Nếu bạn cần cho phép người dùng chọn ngày hoặc chọn thời gian, hãy sử dụng điều khiển bộ chọn ngày và giờ chuẩn. Chúng sẽ tự động sử dụng định dạng ngày và giờ cho ngôn ngữ và vùng ưa thích của người dùng.

Tin xấu khác mà bạn có thể tìm thấy here at MSDN about formating that particular control:

Lưu ý phần này áp dụng cho các ứng dụng Windows Store sử dụng C++, C#, hoặc Visual Basic. Định dạng bị bỏ qua trong các ứng dụng Windows Phone Store.

Vì vậy, trong API hiện tại, có thể khó thay đổi định dạng.

Tin vui là dành cho văn bản CHOOSE DATE ở trên cùng - được tự động bản địa hóa, tùy thuộc vào ngôn ngữ và khu vực của người dùng. Vì vậy, bạn không phải lo lắng về nó nếu ứng dụng của bạn hỗ trợ ngôn ngữ của người dùng. Nhưng tôi đã không tìm cách thay đổi nó thành văn bản khác.

Đối với các văn bản hiển thị bên trong nút trước khi được nhấp, bạn luôn có thể sử dụng Nút với DatePickerFlyout, một ví dụ đơn giản với chuyển đổi apropriate:

<Button Content="{Binding ElementName=chosenDate, Path=Date, Converter={StaticResource DateFormatConverter}}"> 
    <Button.Flyout> 
     <DatePickerFlyout x:Name="chosenDate" /> 
    </Button.Flyout> 
</Button> 

và lớp chuyển đổi:

public class DateFormatConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, string language) 
    { 
     DateTimeOffset chosen = (DateTimeOffset)value; 
     return string.Format("{0}/{1}/{2}", chosen.Day, chosen.Month, chosen.Year); 
     // or use chosen.ToString() with format provider 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } 
} 
+0

Tôi đang chạy bằng điện thoại của mình bằng tiếng Bồ Đào Nha (ngôn ngữ) và Hoa Kỳ (vùng). Gỡ cài đặt ứng dụng, làm sạch giải pháp, thay đổi khu vực thành Braxin, khởi động lại điện thoại và cài đặt lại ứng dụng. Không thay đổi gì cả. – GustavoMP

+0

@GustavoMP Vui lòng kiểm tra ngôn ngữ nào là ngôn ngữ đầu tiên trong Cài đặt-> Ngôn ngữ. Ngoài ra, hãy kiểm tra xem ứng dụng của bạn có hỗ trợ 'pt-BR' - bạn có tài nguyên cho chúng không? Nó có được đặt làm ngôn ngữ bổ sung không? – Romasz

+0

Vậy đó. Đã thay đổi ngôn ngữ trong tệp kê khai thành pt-br và tạo tài nguyên. Cảm ơn rất nhiều. – GustavoMP

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