Problem in DataBinding an Enum using dictionary approach to a combobox in WPF.
        Posted  
        
            by Ashish Ashu
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Ashish Ashu
        
        
        
        Published on 2010-04-12T11:13:29Z
        Indexed on 
            2010/04/21
            17:13 UTC
        
        
        Read the original article
        Hit count: 281
        
I have a Dictionary which is binded to a combobox. I have used dictionary to provide spaces in enum.
public enum Option {Enter_Value, Select_Value};
Dictionary<Option,string> Options;
    <ComboBox                                        
        x:Name="optionComboBox"
        SelectionChanged="optionComboBox_SelectionChanged"
        SelectedValuePath="Key"
        DisplayMemberPath="Value"
        SelectedItem="{Binding Path = SelectedOption}"
        ItemsSource="{Binding Path = Options}" />
This works fine.
My queries:
1. I am not able to set the initial value to a combo box. In above XAML snippet the line
SelectedItem="{Binding Path = SelectedOption}"
is not working. I have declared SelectOption in my viewmodel. This is of type string and I have intialized this string value in my view model as below:
SelectedOption = Options[Options.Enter_Value].ToString();
2. The combobox is binded to datadictionary which have two options first is "Enter_value" and second is "Select_value" which is actually Option enum.
Based on the Option enum value I want to perform different action.
For example
if option is equal to option.Enter_value then
Combo box becomes editable and user can enter the numeric value in it.
if option is equal to option.Select_value value then
the value comes from the database and the combo box becomes read only and shows the fetched value from the database.
Please Help!!
© Stack Overflow or respective owner