/ / डब्ल्यूपीएफ डेटा enum कुंजी के साथ शब्दकोश के लिए बाध्यकारी - सी #, wpf, xaml, शब्दकोश, enums

Enum कुंजी के साथ शब्दकोश के लिए बाध्यकारी WPF डेटा - सी #, wpf, xaml, शब्दकोश, enums

मेरे पास दो परियोजनाओं के साथ समाधान है। एक प्रोजेक्ट में, मेरा मॉडल है जिसमें मॉडल एन्नम नामक एक enum है।

फिर मेरे डब्ल्यूपीएफ प्रोजेक्ट में मेरे पास एक व्यूमोडेल है जिसमें एक शब्दकोश है।

और मेरे व्यूमोडेल में मेरे पास ValuesDictionary सेटअप है:

    private Dictionary<ModelEnum, string> _valuesDictionary = new Dictionary<ModelEnum, string>();

public Dictionary<ModelEnum, string> ValuesDictionary
{
get { return _valuesDictionary; }
set { _valuesDictionary = value; OnPropertyChanged(_valuesDictionary); }
}

मेरे एक्सएएमएल में मेरे पास है:

xmlns:model="clr-namespace:Model.Data;assembly=Model"
...
<TextBox Text="{Binding Path=ValuesDictionary[(model:ModelEnum)ModelEnum.Enum1].Value}" HorizontalAlignment="Left" Height="29" Margin="90,82,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="50"/>

निम्नलिखित एक्सएएमएल स्निपेट:

(model:ModelEnum)ModelEnum.Enum1

मुझे त्रुटि "पैरामीटर प्रकार मेल नहीं मिला है।" मैं उलझन में हूं क्योंकि मैंने सोचा था कि मैं इसे एनम प्रकार के लिए कास्टिंग कर रहा था जिसे मैं उम्मीद कर रहा था। मैंने संदर्भित किया इस कोई भाग्य के साथ कोशिश करने के लिए इतना सवाल है।

उत्तर:

उत्तर № 1 के लिए 4

बदलने के

(model:ModelEnum)ModelEnum.Enum1].Value

साथ में

(model:ModelEnum)Enum1]

फिर कोशिश करो। मुझे उम्मीद है कि यह काम करेगा।


उत्तर № 2 के लिए 1

इसके साथ संभावित नुकसान में जोड़ने के लिए, मुझे स्पष्ट "पथ =" के बिना बाध्यकारी समस्याएं थीं

अर्थात।

{Binding ValuesDictionary[(model:ModelEnum)Enum1]}

काम नहीं करता है, लेकिन:

{Binding Path=ValuesDictionary[(model:ModelEnum)Enum1]}

उम्मीद के अनुसार काम करता है, हालांकि डिजाइनर (या शायद ReSharper) अभी भी वाक्यविन्यास त्रुटियों के बारे में शिकायत करता है।