मैं डब्ल्यूपीएफ में नेविगेशन कमांड फ्रेमवर्क का उपयोग करने के लिए एक WPF एप्लिकेशन (डेस्कटॉप, एक्सबीएपी या सिल्वरलाइट नहीं) के भीतर पृष्ठों के बीच नेविगेट करने का प्रयास कर रहा हूं।नेविगेशन में किसी अन्य पृष्ठ पर नेविगेट करने के लिए बटन का उपयोग करना विन्डो
मेरा मानना है कि मेरे पास सब कुछ ठीक से कॉन्फ़िगर किया गया है, फिर भी यह काम नहीं कर रहा है। मैं त्रुटियों के बिना निर्माण और चलाता हूं, मुझे आउटपुट विंडो में कोई बाध्यकारी त्रुटियां नहीं मिल रही हैं, लेकिन मेरा नेविगेशन बटन अक्षम है।
<Application x:Class="Navigation.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="First.xaml">
</Application>
नोट First.xaml को StartupUri अंक:
यहां एक नमूना अनुप्रयोग के लिए App.xaml है। First.xaml एक पृष्ठ है। WPF स्वचालित रूप से नेविगेशनविंडो में मेरे पृष्ठ को होस्ट करता है। यहाँ First.xaml है:
<Page x:Class="Navigation.First"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="First">
<Grid>
<Button
CommandParameter="/Second.xaml"
CommandTarget="{Binding RelativeSource=
{RelativeSource
FindAncestor,
AncestorType={x:Type NavigationWindow}}}"
Command="NavigationCommands.GoToPage"
Content="Go!"/>
</Grid>
</Page>
बटन के CommandTarget NavigationWindow को तैयार है। आदेश GoToPage है, और पृष्ठ/Second.xaml है। मैंने कमांड पैरामीटर को युक्त पेज पर, कमांड पैरामीटर को "सेकेंड.एक्सएमएल" (फर्स्ट.एक्सएएमएल और सेकेंड.एक्सएएमएल दोनों समाधान की जड़ में हैं) पर सेट करने का प्रयास किया है, और मैंने कमांड टाउन को खाली छोड़ने का प्रयास किया है। मैंने NavigationWindow पर विभिन्न नेविगेशन-संबंधित सार्वजनिक गुणों के लिए बाध्यकारी पथ को सेट करने का भी प्रयास किया है। अभी तक कुछ भी काम नहीं किया है।
मुझे यहां क्या याद आ रही है? मैं वास्तव में कोड में अपना नेविगेशन नहीं करना चाहता हूं।
स्पष्टीकरण।
<Grid>
<TextBlock>
<Hyperlink
NavigateUri="Second.xaml">Go!
</Hyperlink>
</TextBlock>
</Grid>
सब कुछ उम्मीद के रूप में काम करता है:
, तो इसके बजाय एक बटन का उपयोग कर के, मैं एक हाइपरलिंक का उपयोग करें। हालांकि, मेरी यूआई आवश्यकताओं का मतलब है कि एक हाइपरलिंक का उपयोग करना सही है। लोगों को प्रेस करने के लिए मुझे एक बड़ा फैटी बटन चाहिए। यही कारण है कि मैं नेविगेट करने के लिए बटन का उपयोग करना चाहता हूं। मैं सिर्फ यह जानना चाहता हूं कि इस मामले में हाइपरलिंक की समान क्षमता प्रदान करने के लिए मैं बटन कैसे प्राप्त कर सकता हूं।
धन्यवाद, लेकिन यह इस मामले में बिल्कुल लागू नहीं है। मैंने आशा व्यक्त करने के लिए अपना प्रश्न संपादित कर लिया है। मैं नेविगेशनविंडो को कमांड करने के लिए बटन के लिए रास्ता खोजने का प्रयास कर रहा हूं, जहां आगे जाना है। मेरा कोड काम नहीं करता है, इसलिए मैं जोर नहीं दे रहा हूं कि यह इस तरह से किया जायेगा। मैं NavigationWindow के साथ काम करने के लिए एक बटन पाने के लिए एक रास्ता तलाश रहा हूँ। – Will
अनिवार्य रूप से ऐसा करने का यही एकमात्र तरीका है। मैं बटन को हुक करने के लिए अपने वीएम में कमांड का उपयोग कर रहा हूं। बेस व्यू मॉडल में मुख्य विंडो की नेविगेशन सेवा का संदर्भ है। – Will