все еще довольно новичок в WPF и особенно в привязке, но у меня есть перечисление, которое я буду использовать в качестве свойств объектов в другом месте моего проекта, но одной из самых первых точек запуска программы будет пользователь, выбирающий один элемент из поля со списком , который я хочу сопоставить с доступными параметрами перечисления. Первоначально я думал иметь объект словаря с параметром enum в качестве ключа и значением в виде строки для использования в представлении пользовательского интерфейса, и это то, над чем я работал. Я искал вокруг и думал, что у меня это есть, но поле со списком заполняется пустым.
У меня есть пара вопросов;
Во-первых, поскольку я до сих пор не совсем уверен, что к чему в отношении привязки, связана ли эта проблема с этим сообщением Ошибка целевого исключения, которую я нашел в комментарии к другому вопросу? Если да, значит ли это, что я пока лаю не по тому дереву? И есть ли другой способ для меня достичь моей цели?
Во-вторых, если это не связано, я что-то пропустил в приведенном ниже коде? В настоящее время я не получаю никаких ошибок в окне вывода, и проект компилируется нормально.
Вот перечисление (которое находится в отдельном пространстве имен, которое было добавлено к ссылкам на проект);
namespace WGM_lbr
{
public class Available_Wgms
{
private static Dictionary<Wgms,string> _wgmColl;
public static Dictionary<Wgms,string> WgmsCollection
{
get
{
return _wgmColl;
}
}
static Available_Wgms()
{
_wgmColl = new Dictionary<Wgms, string>() {
{Wgms.First, "First Dictionary item"},
//other Dictionary Items go here
}
}
public enum Wgms
{
First,
//other Enum options go here
}
}
}
Объявление моего ресурса в app.xaml
<Application x:Class="The_First.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WGM="clr-namespace:WGM_lbr;assembly=WGM_lbr"
StartupUri="MainWindow.xaml">
<Application.Resources>
<BooleanToVisibilityConverter x:Key="b2v"/>
<WGM:Available_Wgms x:Key="WgmList"/>
</Application.Resources>
And finally the combobox and binding xaml (in case its relevant, this lives in a nest of wpf controls, up to a grid which lives on page, which is being loaded to mainwindow.xaml via a frame control using the page as the source. Both the page and mainwindow have declared the WGM namespace - I cut these out as this post is already long enough);
<ComboBox Name="cmbWgmSelector" Margin="5,0" ItemsSource="{Binding Source={StaticResource WgmList}}"/>
Любая помощь/совет, которые могут быть предоставлены, приветствуется.