2011-01-28 18 views
5

में बुलाया है, मैं कोड व्यू से छुटकारा पाने के लिए अपने व्यू मॉडल्स में रिलेकॉमैंड्स का उपयोग कर रहा हूं। रिलेकॉमैंड्स इस स्थिति को छोड़कर काम कर रहे हैं: व्यूमोडेल जिसमें रिलेकॉमैंड्स को परिभाषित किया गया है, डेटाैकेंटेक्स्ट के परिवर्तन के साथ बदल दिया गया है। यदि डेटाकॉन्टेक्स्ट परिवर्तन के बाद एक आदेश निकाल दिया जा रहा है, तो इसे "पुराने" व्यूमोडेल में निकाल दिया जाता है। डिबगिंग करते समय मैं देख सकता हूं कि गुण पुराने डेटाकॉन्टेक्स्ट से हैं। लेकिन दृश्य में सबकुछ ठीक है क्योंकि सही व्यूमोडेल का सही डेटा प्रदर्शित होता है।रिलेकॉमैंड ने "पुराना" डेटाकॉन्टेक्स्ट

तो क्या यह संभव है कि बाध्य कमांड डेटाकॉन्टेक्स्ट के परिवर्तन पर प्रतिक्रिया करने में सक्षम न हों? या क्या कुछ और गलत हो सकता है?

यहाँ कोड का एक स्निप:

<TabControl x:Name="TestView" DataContext="{Binding Path=SelectedParentElement}" 
       TabStripPlacement="Top" ItemsSource="{Binding Path=ChildElements, Mode=OneWay}" 
       SelectedValue="{Binding Path=SelectedChildElement, Mode=TwoWay}"> 
<TabControl.ContextMenu> 
        <ContextMenu> 
<MenuItem Header="Klassifikation" Name="Klassifikation"> 
           <MenuItem Header="Kindebene" Name="KlassisfizierendNext" Command="{Binding KlassifizierendNextCommand}"/> 
          </MenuItem> 
        </ContextMenu> 
       </TabControl.ContextMenu> 
....... 
      </TabControl> 

TabControl के DataContext सही ढंग से बदल रहा है, लेकिन आदेश को बदलने के बाद पुराने DataContext में बुलाया जा रहा है।

+0

मैं ContextMenus पर बाइंडिंग के साथ वास्तव में एक ही समस्या थी। मुझे लगता है कि डेटाकॉन्टेक्स्ट बदलते समय मैं बाध्यकारी मैन्युअल रूप से रीफ्रेश कर दूंगा। – Botz3000

उत्तर

0

@ रिक। डाउनवोट का कारण:

  1. यह ओपी के प्रश्न का उत्तर नहीं देता है। वह डेटा संदर्भ डीबग कर रहा है, आप एक्सएएमएल में सबकुछ कर रहे हैं।

  2. यह मेरे लिए काम नहीं करता। मुझे लगता है कि यह उसी बग के कारण है जिसे ओपी ने देखा था।

निष्पक्ष बनाने के लिए इस आपकी गलती नहीं है: यह स्पष्ट रूप से जिस तरह से कि माइक्रोसॉफ्ट ContextMenus के लिए DataContext विरासत को संभालने में एक बग है, लेकिन अपने जवाब ओपी की समस्या को हल किया है प्रतीत नहीं होता है, और न ही मेरा ।

enter image description here

संबंधित मुद्दे