mscorlib in. net core отсутствует в v3.1 - PullRequest
0 голосов
/ 16 июня 2020

Я работаю над приложением wpf. Используя ObjectDataProvider , я пытаюсь привязать перечисление к combobox . Но mscorlib не появляется при попытке ссылки в XAML. Нужно ли для этого устанавливать какой-нибудь пакет?

Ответы [ 2 ]

3 голосов
/ 16 июня 2020

Нет причин ссылаться на mscorlib, просто сопоставьте пространство имен с System.Runtime:

<ObjectDataProvider x:Key="name"
    xmlns:core="clr-namespace:System;assembly=System.Runtime" 
    MethodName="GetValues"
    ObjectType="{x:Type core:Enum}">
    <ObjectDataProvider.MethodParameters>
        <x:Type TypeName="local:YourType"></x:Type>
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
0 голосов
/ 17 июня 2020

Покопавшись больше о том, как связать перечисления в. net core, нашел другой способ достижения того же, что описано ниже.

Пространство имен по умолчанию в окне XAML:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

Я заметил это, даже не ссылаясь на сборку system.runtime в XAML. мы все еще можем анализировать перечисление и выполнять привязку в XAML. Вот проверенный и успешно работающий код.

Enum

public enum Members
{
    Member1,
    Member2
}

XAML

<ObjectDataProvider ObjectType="local:Members"
                            x:Key="key"
                            MethodName="GetValues">
     <ObjectDataProvider.MethodParameters>
           <x:Type TypeName="local:Members"/>
     </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
...