2012-02-01 21 views
13

Tôi thích ý tưởng Monocross nhưng có một chút mất cho Windows Phone 7 khi tôi muốn sử dụng điều khiển Toàn cảnh và/hoặc Xoay vòng. Chế độ xem duy nhất được cung cấp là chế độ xem Trang. Vì vậy, điều hướng từ trang này sang trang khác hoạt động tuyệt vời! Nhưng bây giờ tôi muốn một Pivot hoặc Panorama. Về cơ bản tôi có thể tạo một bộ điều khiển mới cho chế độ xem này, nhưng có được các "trang" bên trong các điều khiển. Điều hướng thực sự điều hướng đến nó, nhưng không điều hướng trong Pivot/Panorama.Sử dụng Monocross trên Windows Phone 7 với chế độ Toàn cảnh và/hoặc Điều khiển xoay

Đối với các mẫu Monotouch và MonoDroid đã được chuẩn bị cách thực hiện điều này (về cơ bản, một chế độ xem mới đã được tạo). Nhưng WP7 đã bị bỏ lại.

Bất kỳ ai?

Trả lời

1

Tôi cũng đang phát triển nền tảng chéo bằng cách sử dụng mono và giống như bạn và nhiều người khác phải đối mặt với vấn đề phải làm gì đối với giao diện người dùng và tích hợp phần cứng cơ bản khác.

Tôi quyết định rằng tôi không muốn ở lòng thương xót của một khuôn khổ của bên thứ ba khác (mono là đủ) và nghiên cứu một giải pháp mà tôi có thể xây dựng và duy trì bản thân mình. Mẫu MVVM mới cùng với Expression Blend thực sự rất tuyệt nhưng bạn sẽ sớm thấy mình bị mắc kẹt khi nói đến phát triển nền tảng chéo. Các mẫu MVC an MVP cũng không phù hợp với những gì tôi cần. Cuối cùng giải quyết trên mẫu PM và mở rộng nó thành PMH trong đó H là phần cứng. Để đạt được những gì tôi cần, tôi phải trừu tượng các widget cơ bản (các nút, bảng, hộp văn bản) thành một lớp nền tảng cơ bản cho từng loại thiết bị. Lớp nền tảng của tôi đại diện cho khoảng 1% cơ sở mã của tôi và cho phép tôi ứng dụng cho từng thiết bị mà tôi nhắm mục tiêu.

Đối với giải pháp WP7 của tôi, tôi hầu như không dùng bất kỳ HTML nào chỉ khoảng 25 dòng, đủ để khởi tạo ứng dụng và trang chính. Phần còn lại của giao diện người dùng được đặt cùng nhau theo chương trình giống như tôi sẽ làm trong WinForms. Trên WP7 tôi vẫn sử dụng điều khiển Pivot vì nó thực sự khá hấp dẫn và đang tạo mô hình một điều khiển tương tự để sử dụng trên Android/iPhone. Trong khi nó sẽ không 100% giống nhau, nó sẽ rất giống nhau và vẫn sử dụng cùng một công cụ điều hướng trong mã lõi của tôi.

Tôi chưa hoàn thành với sự phát triển của mình nhưng cho đến nay tôi rất hài lòng với sự tiến bộ của mình. Tôi đã phát triển giao diện người dùng cho ứng dụng Windows trong khoảng 20 năm và tôi không bao giờ sử dụng các công cụ xây dựng giao diện như tôi thấy họ không bao giờ cho tôi những gì tôi muốn và thực sự lãng phí thời gian của tôi (Blend là khá mát mẻ) và cũng tạo ra một đoạn mã khổng lồ đặc biệt là trong Blend.

0

Tôi không thể giúp hoàn toàn với monocross - Tôi đã làm mẫu cho droid một lần - https://github.com/slodge/monocross-tab-activity-view - nhưng tôi chưa bao giờ hoàn thành phần wp7 của điều đó.

Đối với mvvmcross ... có liên quan ... có một vài mẫu - một trong hướng dẫn (một chút hacky!) Và một trong ứng dụng hội nghị - nhiều mẫu được ưu tiên.

Kỹ thuật cơ bản tôi chọn là sử dụng phụ viewmodels cho mỗi "tab" của bức tranh toàn cảnh - xem làm thế nào DataContext databinding được thiết lập cho mỗi Item trong https://github.com/slodge/MvvmCross/blob/master/Sample%20-%20CirriousConference/Cirrious.Conference.UI.WP7/Views/HomeView.xaml

Lưu ý rằng trong một ứng dụng lớn hơn có thể có quan trọng vấn đề bộ nhớ cần cân nhắc khi thực hiện điều này - đặc biệt khi sử dụng điều khiển trục không tải tất cả các trang vào bộ nhớ cùng một lúc (vì vậy bạn không thực sự cần tải tất cả các kiểu xem)

Một số bloggage trên ứng dụng conf : http://slodge.blogspot.co.uk/2012/03/update-on-mvvmcross-sqlbits-conference.html

Và cuối cùng bit sql sourc e: https://github.com/slodge/MvvmCross/tree/master/Sample%20-%20CirriousConference

tabs and pivot example

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