2011-06-05 18 views
8

मैं मेनू आइटम की गतिशील बनाई गई सूची को सही ढंग से कैसे बांधूं। मैंने कई चीजों की कोशिश की है लेकिन कोई भी काम नहीं कर रहा है। मुझे नामों की उचित सूची मिलती है, हालांकि मेरा ViewSwitchCommand सही ढंग से आग लग रहा है।मेनू आइटम को सही तरीके से बाध्य कैसे करें?

<MenuItem Foreground="White" Header="Names" ItemsSource="{Binding Player.ToonNames}" Command="{Binding ViewSwitchCommand}" CommandParameter="{Binding Header}"/> 

लेकिन अगर मैं इसे गतिशील रूप से ऐसा नहीं करते हैं और इस तरह से यह करना तो सब कुछ ठीक काम करता है यह काम करने के लिए

<MenuItem Foreground="White" Header="Names"> 
<MenuItem Foreground="Black" Header="Chat" Command="{Binding ViewSwitchCommand}"  CommandParameter="player1" /> 
<MenuItem Foreground="Black" Header="Craft" Command="{Binding ViewSwitchCommand}" CommandParameter="player2" /> 
</MenuItem> 

आदेश पैरामीटर एक स्ट्रिंग की उम्मीद है .. सुनिश्चित करें कि अगर नहीं मिल सकता है यह उम्मीद है कि यह कुछ सरल मैं सिर्फ

उत्तर

16

इस कोड को अनदेखी कर रहा हूँ है ... मेरे लिए काम करता है:

<MenuItem Header="Names" ItemsSource="{Binding Player.ToonNames}"> 
    <MenuItem.ItemContainerStyle> 
     <Style TargetType="MenuItem"> 
      <Setter Property="Command" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=MenuItem}, Path=DataContext.ViewSwitchCommand}" /> 
      <Setter Property="CommandParameter" Value="{Binding}" /> 
     </Style> 
    </MenuItem.ItemContainerStyle> 
</MenuItem> 
+0

एक कदम करीब सर मैं अब कमांड को फायर कर रहा हूं, हालांकि जब सूची ओ टूननाम को पॉप्युलेट नहीं किया जा रहा है ... हालांकि ऐसा लगता है कि यह नामों की उचित संख्या के लिए जगह बना रहा है .. कोई हेडर जानकारी नहीं है। आपको यह बताने में मदद कर सकता है कि ToonNames अवलोकन योग्य है poco

+0

@poco, आपको शुरुआत में ऐसा कहना चाहिए था, मेरे पास यह जानने के लिए क्रिस्टल बॉल नहीं है कि आपका कोड कैसा दिखता है। अद्यतन उत्तर देखें। – svick

+5

क्रिस्टल गेंद बहुत उपयोगी महोदय हैं, आपको इन्हें देखना चाहिए! मुझे आपके नवीनतम कोड का परीक्षण करने का मौका नहीं मिला है, लेकिन यह आपकी मदद के लिए धन्यवाद, आपके पहले संपादन से काम करने में सक्षम था – poco

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