สำนักงาน

การนำทางระหว่าง XAML Pages: Windows Phone 7.5 การพัฒนาแอปเปิ้ลมะพร้าว - ตอนที่ 21

เวก้าผับ ฉบับพิเศษ

เวก้าผับ ฉบับพิเศษ
Anonim

ยินดีต้อนรับสู่ชุดพัฒนา Mango App สำหรับ Windows Phone 7.5 ในบทแนะนำครั้งสุดท้ายเราจะพูดถึงวิธีการใช้สไตล์และธีมในการควบคุมในบทแนะนำนี้เราจะเห็นวิธีหนึ่งในการนำทางระหว่างเพจและส่งข้อมูลจากหน้าหนึ่งไปยังอีกหน้า

เราโหลดหน้า XAML ในแอ็พพลิเคชัน Silverlight เช่นเดียวกับที่เราโหลด HTML หน้าเว็บในเว็บเบราเซอร์ เช่นเดียวกับในเว็บไซต์เว็บไซต์แต่ละแห่งมี URL เฉพาะของตนเอง (Unified Resource Locator) เช่น www.thewindowsclub.com ในแอ็พพลิเคชัน Windows Phone 7.5 เราใช้ปุ่มควบคุมลิงก์เชื่อมโยงหลายมิติและใช้พร็อพเพอร์ตี้ NavigateURI กับ URI (Unified Resource Identifier) ​​ของหน้า XAML ที่คุณต้องการโหลด เริ่มต้นด้วยตัวอย่างเช่น

สร้างโครงการใหม่ด้วยชื่อเฉพาะเช่น `NavigationDemo` จากนั้นคลิกขวาที่ชื่อโครงการใน Explorer โซลูชันและเลือกเพิ่มแล้วคลิกสร้างรายการใหม่ ในหน้าต่าง Add New Item เลือก `Windows Phone Portrait page` ให้ตั้งชื่อว่า Page1.xaml จากนั้นคลิกปุ่ม Add ที่ด้านล่าง ซึ่งจะเป็นการสร้างหน้าใหม่ที่แสดงในแท็บแยกต่างหากในพื้นที่ออกแบบหลัก เพียงเพื่อความชัดเจนให้เปลี่ยนชื่อเพจของหน้าใหม่เป็น `หน้าใหม่` โดยการเปลี่ยนคุณสมบัติข้อความของ TextBlock ของหน้าหัวข้อ ถัดไปในแท็บ MainPage.xaml ลากและวางปุ่มเชื่อมโยงหลายมิติในพื้นที่ออกแบบ ตอนนี้เปลี่ยนคุณสมบัติ NavigateUri ในหน้าต่างคุณสมบัติสำหรับปุ่มเชื่อมโยงหลายมิติ แทรกสตริงต่อไปนี้

/NavigationDemo;component/Views/Page1.xaml

เรียกใช้โปรแกรมประยุกต์และคลิกที่ปุ่มเชื่อมโยงหลายมิติที่แสดงในโปรแกรมจำลอง คุณจะเข้าสู่ Page1.xaml จาก MainPage.xaml

ขณะนี้เพื่อส่งข้อมูลจากหน้าหนึ่งไปยังอีกหน้าหนึ่งเราจะใช้ Querystring ลองพิจารณา URL เช่น www.abcxyz.com/images.aspx?id=3&language=en ที่นี่ทุกสิ่งทุกอย่างหลังจากที่เครื่องหมายคำถามเรียกว่า Querystring คุณสามารถสังเกตได้ว่าเรามีคู่ค่าชื่อสองตัว ได้แก่ id = 3 และ languae = en เครื่องหมายบวกช่วยให้เราสามารถเพิ่มข้อมูลต่างๆได้ในกรณีนี้ id และ language

ตอนนี้ในโครงการต่อไปเราจะลากและวาง TextBlock ในหน้า Page1.xaml ลบ TextBlock.Text คุณสมบัติและแทรกรหัส C # ต่อไปนี้ในเหตุการณ์ PhoneApplicationPage_Loaded

textBlock1.Text = String.Format ("Value: {0}", NavigationContext.QueryString ["id"]);

ดังนั้น ในบรรทัดของรหัสนี้เราใช้ประโยชน์จาก NavigationContext ซึ่งทำให้เราสามารถเข้าถึง URL ได้โดยเฉพาะ Querystring เราระบุรายการที่ต้องการในวงเล็บเหลี่ยม

ก่อนที่เราจะรันแอ็พพลิเคชันเราจะเปลี่ยนคุณสมบัติ NavigateUri ของปุ่มเชื่อมโยงหลายมิติไปที่

/NavigationDemo;component/Views/Page1.xaml?id

ต่อไปนี้ = 1

เราจะลากและวางปุ่มลิงก์อื่นใน MainPage.xaml และตั้งค่าคุณสมบัติ navigateUri เป็น

/NavigationDemo;component/Views/Page1.xaml?id=2