मैं एक कमांड जो मैं निम्न मानक सिंटैक्स का उपयोग मेरी XAML फाइल से क्रियान्वित कर रहा हूँ:एक WPF का उपयोग कर दो आदेश पैरामीटर बाध्यकारी पासिंग
<Button Content="Zoom" Command="{Binding MyViewModel.ZoomCommand}"/>
यह ठीक काम किया जब तक मुझे एहसास हुआ कि मैं से जानकारी के दो टुकड़े की जरूरत इस ऑपरेशन को उपयोगकर्ताओं द्वारा अपेक्षित तरीके से पूरा करने के लिए दृश्य (कैनवास की चौड़ाई और ऊंचाई)।
ऐसा लगता है कि यह मेरे आदेश के लिए एक तर्क के रूप एक सरणी पारित करने के लिए संभव है, लेकिन मैं वहाँ नहीं दिख रहा है CommandParameter में मेरे दो कैनवास गुण के लिए बाध्य निर्दिष्ट करने के लिए एक तरह से किया जा रहा है:
<Button Content="Zoom"
Command="{Binding MyViewModel.ZoomCommand"
CommandParameter={Binding ElementName=MyCanvas, Path=Width}"/>
मैं अपने आदेश में चौड़ाई और ऊंचाई दोनों कैसे पास करूं? ऐसा लगता है कि XAML से कमांड का उपयोग करना संभव नहीं है और मुझे यह जानकारी मेरे ज़ूम विधि को पास करने के लिए मेरे कोडबेंड में एक क्लिक हैंडलर को तार करने की आवश्यकता है।
धन्यवाद केंट में पैरामीटर - कि था कि वास्तव में क्या मैं के लिए देख रहा था। मुझे आपका पहला दृष्टिकोण बेहतर पसंद है ताकि वीएम बिना किसी बाध्यकारी के दृश्य के "राज्य" को जानता हो, मुझे पैरामीटर पास करने के बिना, लेकिन मैं अभी भी इसका परीक्षण कर सकता हूं। मुझे यकीन नहीं है कि यह मेरे लिए यहां काम करने जा रहा है, क्योंकि मुझे जितना संभव हो सके कैनवास बनाने के लिए दृश्य की आवश्यकता है और वीएम को यह मान पास करें। अगर मैं इसे बांधता हूं, तो क्या मुझे वीएम में चौड़ाई निर्धारित नहीं करनी पड़ेगी? किस मामले में, वीएम दृश्य के लिए बाध्य है? – JasonD
@ जेसन: आप इसे किसी भी तरह से कर सकते हैं। यही है, दृश्य दृश्य को दृश्य मॉडल में वापस बदलना है, या दृश्य मॉडल दृश्य को दृश्य में बदलना है। एक दोवे बाध्यकारी परिणामस्वरूप आपके लिए विकल्प उपलब्ध होगा। –
मेरे प्रोग्राम में ऑनएक्सक्यूट विधि पैरामीटर शून्य मानों वाला एक सरणी है, लेकिन कनवर्टर में मानों की अपेक्षा की जाती है –