Saya bekerja tanpa campuran ekspresi dan hanya menggunakan editor XAML di vs2010. Terlepas dari kebijaksanaan ini, saya semakin melihat kebutuhan untuk pengikatan data waktu desain. Untuk kasus sederhana, FallbackValue
properti berfungsi dengan sangat baik (Textboxes dan TextBlocks, dll). Tetapi terutama ketika berhadapan dengan ItemsControl
dan sejenisnya, seseorang benar-benar membutuhkan data sampel untuk terlihat di perancang sehingga Anda dapat menyesuaikan dan mengubah kontrol dan templat data tanpa harus menjalankan yang dapat dieksekusi.
Saya tahu itu ObjectDataProvider
memungkinkan untuk mengikat suatu jenis, dan dengan demikian dapat memberikan data waktu desain untuk visualisasi, tetapi kemudian ada beberapa juggling untuk memungkinkan data real-time untuk mengikat tanpa membuang sumber daya dengan memuat memuat kedua waktu desain, data dummied dan binding runtime.
Sungguh apa yang saya inginkan adalah kemampuan untuk memiliki, katakanlah, "John", "Paul", "George", dan "Ringo" muncul di desainer XAML sebagai item bergaya di saya ItemsControl
, tetapi memiliki data nyata yang muncul saat aplikasi lari.
Saya juga tahu bahwa Blend memungkinkan beberapa atribut mewah yang menentukan data pengikatan waktu desain yang secara efektif diabaikan oleh WPF dalam kondisi run-time.
Jadi pertanyaan saya adalah:
1. Bagaimana cara memanfaatkan binding waktu desain dari koleksi dan data non-sepele di desainer XAML studio visual dan kemudian menukar ke binding runtime dengan lancar?
2. Bagaimana orang lain memecahkan masalah data waktu desain vs. waktu proses ini? Dalam kasus saya, saya tidak dapat dengan mudah menggunakan data yang sama untuk keduanya (seperti yang dapat dilakukan dengan, katakanlah, kueri database).
3. Apakah alternatif mereka untuk campuran ekspresi yang dapat saya gunakan untuk desain XAML terintegrasi data? (Saya tahu ada beberapa alternatif, tetapi saya secara khusus menginginkan sesuatu yang dapat saya gunakan dan melihat data sampel terikat, dll?)
d:DataContext
Anda mungkin menemukan beberapa bantuan dalam pertanyaan ini: stackoverflow.com/questions/8303803/…