से एक WPF नियंत्रण की दृश्यता को कैसे बदला जाए मेरे पास एक WPF एप्लिकेशन है जहां एमवीवीएम पैटर्न और प्रिज्म 2 को लागू करने का प्रयास किया गया है। मेरे पास एक Usercontrol है जिसने किसी अन्य उपयोगकर्ता नियंत्रण से निकाली गई किसी ईवेंट की सदस्यता ली है। मैं सब्सक्राइबिंग नियंत्रण में कुछ बाल तत्वों की दृश्यता टॉगल करना चाहता हूं। घटनाओं को ठीक से निकाल दिया जाता है, यहां तक कि मैं कुछ तत्वों को डेटा को बाध्य करने में सफलतापूर्वक सक्षम हूं। मैं ViewModel के साथ उस मामले के लिए दृश्यता या किसी भी शैली की संपत्ति को कैसे बांधूं और उन्हें गतिशील रूप से बदलूं।व्यूमोडेल
उत्तर
आप अपने व्यूमोडेल में एक बुलियन संपत्ति प्राप्त कर सकते हैं और उस संपत्ति को अपने नियंत्रण की दृश्यता संपत्ति में जोड़ सकते हैं। आप एक बूलियन मान asigning हो जाएगा के बाद से और दृश्यता संपत्ति एक दृश्यता गणन मूल्य की उम्मीद है, आपकी रूपान्तरण बनाने के लिए BooleanToVisibilityConverter कनवर्टर का उपयोग करना होगा
<Style.Resources>
<BooleanToVisibilityConverter x:Key="booleanToVisibilityConverter" />
</Style.Resources>
<Image Visibility="{Binding Path=ShowImage,
Converter={StaticResource booleanToVisibilityConverter}}"/>
आशा इस मदद करता है।
एज़ेकिएल Jadib
एक बूलियन संपत्ति को जोड़ने और एक मूल्य कनवर्टर काम करता है का उपयोग करते हुए, मैं अपने ViewModel, उदा के प्रकार दृश्यता की संपत्ति जोड़ने की सिफारिश करेंगे हालांकि
public Visibility ImageVisibility
{
get { return shouldShowImage ? Visibility.Visible : Visibility.Collapsed }
}
इस विधि का लाभ आप हर संपत्ति आप एक शेयर के स्तर का जब यह नीचे चला जाता है 10 कि एक लेबल लाल हो जाता है के लिए विजुअल तरीके व्यक्त करने के लिए (उदाहरण के लिए चाहते हैं के लिए एक कनवर्टर लिखने की जरूरत नहीं है है, आपके पास एक कनवर्टर हो सकता है जिसे आप एक बार उपयोग करते हैं या बस अपने वीएम से स्टॉक लेबेलब्रश संपत्ति का पर्दाफाश कर सकते हैं)
हालांकि यह उत्तर सुरुचिपूर्ण है, इसके साथ एक समस्या है। यदि कार्यक्रम 'shouldShowImage' को बदलता है, तो वह परिवर्तन दृश्य में नहीं भेजा जाता है। – James
यह सच है, लेकिन समस्या को संभालने के कुछ तरीके हैं। आप या तो 'mustShowImage' से' PropertyChanged' ईवेंट को संभाल सकते हैं और एक नया 'PropertyChanged' ईवेंट बढ़ा सकते हैं, या केवल एक रैपर प्रॉपर्टी के माध्यम से 'shouldShowImage' तक पहुंच की इजाजत दे सकते हैं जो दोनों गुणों के लिए ईवेंट उठाता है। – Darren
मुझे पता है कि यह एक पुराना सवाल है, लेकिन इस समस्या में भाग लेने वाले लोगों के लिए एक आसान समाधान है और यह जवाब मिल गया है। अपने XAML में बाँध इसे करने के लिए तो जैसे
public Visibility ShowModifyButtons
{
get { return (Visibility)GetValue(ShowModifyButtonsProperty); }
set { SetValue(ShowModifyButtonsProperty, value); }
}
public static readonly DependencyProperty ShowModifyButtonsProperty =
DependencyProperty.Register("ShowModifyButtons", typeof(Visibility), typeof(FileMatchViewModel),
new UIPropertyMetadata(Visibility.Collapsed));
,: आपके विचार मॉडल से
<Button Focusable="False" Content="Save" Width="100" Margin="10" Visibility="{Binding ShowModifyButtons}"/>
अब, आप
आपके विचार मॉडल में, एक "दृश्यता" संपत्ति इतनी तरह बनाने ShowModifyButtons
Visibility.Collapsed
या Visibility.Visible
को आवश्यकतानुसार सेट कर सकते हैं।
- 1. व्यूमोडेल
- 2. व्यूमोडेल
- 3. व्यूमोडेल
- 4. व्यूमोडेल
- 5. व्यूमोडेल
- 6. व्यूमोडेल
- 7. व्यूमोडेल
- 8. एमवीवीएम व्यूमोडेल बनाम एमवीसी व्यूमोडेल
- 9. व्यूमोडेल लोकेटर
- 10. एमवीवीएम व्यूमोडेल
- 11. नॉकआउट व्यूमोडेल
- 12. अपने व्यूमोडेल
- 13. डीटीओ = व्यूमोडेल?
- 14. एक व्यूमोडेल
- 15. नॉकआउट व्यूमोडेल और requjs
- 16. बाइंड इवेंट को व्यूमोडेल
- 17. प्रमाणीकरण: मॉडल या व्यूमोडेल
- 18. प्रिज्म 2/एमवीवीएम व्यूमोडेल
- 19. एमवीसी 3 व्यूमोडेल
- 20. नॉकआउटजेएस - रीबंडिंग व्यूमोडेल
- 21. कैलिबर्न माइक्रो व्यूमोडेल
- 22. मॉडल बनाम व्यूमोडेल
- 23. एमवीवीएम - मॉडल और व्यूमोडेल
- 24. एमवीसी में, व्यूमोडेल क्या है?
- 25. किसी भी व्यूमोडेल डोम अपडेट
- 26. एएसपी.नेट एमवीसी मॉडल बनाम व्यूमोडेल
- 27. व्यूमोडेल से दूसरे दृश्य (एमवीवीएमसीआरआर)
- 28. एएसपी.नेट एमवीसी 2 - व्यूमोडेल उपसर्ग
- 29. एएसपी.नेट एमवीसी 3 व्यूमोडेल पैटर्न
- 30. एएसपी.नेट एमवीसी मॉडल/व्यूमोडेल प्रमाणीकरण
किसी भी तरह से यह मेरे लिए काम नहीं करता है। मैंने Usercontrol में कनवर्टर घोषित किया। स्रोत अनुभाग और उपयोग की गई बाइंडिंग जैसा कि आपने टिप्पणी में समझाया है। – Raj
क्षमा करें मेरी गलती। यह काम। धन्यवाद। – Raj