WPF Binding Combox с другим списком и другим SelectedValue

В моем UserControl ucStep2 у меня есть DataContext объекта Step2InfoData, который имеет несколько свойств наряду с:

private string rockDensUnit;
public string RockDensity_Unit 
{
    get { return rockDensUnit; }
    set
    {
        if (rockDensUnit != value)
        {
            rockDensUnit = value;
            Changed("RockDensity_Unit");
        }
    }
}

В моем приложении я должен связать несколько комбоs с различными обычно типами измерений, такими как {кг / м3, г / м3}, {метр, см} и т. д. для таких групп мер. Я имею в виду, несколько комбоs иметь список одинаковых предметов. Поэтому я предпочел создать Class 'из таких списков, которые я могу использовать в нескольких комбинациях. Я создал ComboItems.cs, который содержит все списки элементов, которые мне понадобятся для заполнения раскрывающегося списка.

ComboItems.cs

//**OBJECTS I USE FOR LIST OF IEMS** 
// Class for kg, gm
public class KgGmItems
{
    public ObservableCollection KgGmList { get; set; }

    public KgGmItems()
    {
        KgGmList = new ObservableCollection();
        KgGmList.Add("kg/m3");
        KgGmList.Add("gram/cm3");
    }

    public string ValueSelected { get; set; }  // Don't know if this is useful in my case
}

// Class for meter, cm
public class MtCmItems : INotifyPropertyChanged
{
    public MtCmItems()
    {
        Dict = new Dictionary
        {
            {"meter", "meter"}, 
            {"centimeter", "centimeter"}
        };
    }

    //...
 }

XML, т.е. ucStep2 View



    
    


  
  

Я хочу отобразить элементы ObservableCllection KgGmList из класса KgGmItems и связать выбранное значение с RockDensity_Unit класса Step2InfoData, который связан с этим UserControl.

В вышеприведенном комбо я могу отобразить все элементы в выпадающем списке, также 1-й элемент выбран по умолчанию. Но значение не привязано к RockDensity_Unit; Это'Значение s остается нулевым.

Я хочу, чтобы это произошло в двух направлениях, т.е. когда RockDensity_Unit proeprtiy 'Значение устанавливается программно, значение должно быть выбрано в раскрывающемся списке. Конечно, значение должно присутствовать в списке.

По умолчанию 1-й пункт должен быть выбран.

ОБНОВИТЬ Добавлен DependencyProperty в ucStep2.xaml.cs

public static readonly DependencyProperty RockDensityUnitProperty =
    DependencyProperty.Register("RockDensity_Unit", typeof(string), typeof(UserControl),
     new FrameworkPropertyMetadata("kg/m3", FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));  

public string RockDensity_Unit
{
    get { return this.GetValue(RockDensityUnitProperty) as string; }
    set { SetValue(RockDensityUnitProperty, value); }
}

XML



ОШИБКА

Ошибка 1 Ссылка на тип не может найти открытый тип с именем 'ucStep2', Строка 74, Позиция 194. Это относится к выпадающему списку "," после FindAncestor

СОМНЕНИЯ Свойство RockDensity_Unit CLR в Step2InfoData не затрагивается.

Почему код не может найти ucStep2? К вашему сведению, я думаю, что это может быть актуально:


Ответы на вопрос(2)

Ваш ответ на вопрос