数据绑定枚举 - 命名空间中不存在名称 'StoreLocation'

Databinding Enum - The name 'StoreLocation' does not exist in the namespace

我遇到一个错误:

The name 'StoreLocation' does not exist in the namespace "clr-namespace:System.Security.Cryptography.X509Certificates;assembly=mscorlib"

在线:

<x:Type TypeName="crypto:StoreLocation" />

我做错了什么?

<UserControl x:Class="Admin.Certificates"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:Admin"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    xmlns:crypto="clr-namespace:System.Security.Cryptography.X509Certificates;assembly=mscorlib">

<UserControl.DataContext>
    <local:CertificatesViewModel />
</UserControl.DataContext>

<UserControl.Resources>
    <ObjectDataProvider MethodName="GetValues" ObjectType="{x:Type sys:Enum}" x:Key="GetEnumValues">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="crypto:StoreLocation" />
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
</UserControl.Resources>

<Grid>
    <DataGrid ItemsSource="{Binding Certificates}" AutoGenerateColumns="False">
       <DataGrid.Columns>
            <DataGridComboBoxColumn Header="StoreLocation"                   
                ItemsSource="{Binding Source={StaticResource GetEnumValues}}"
                SelectedValueBinding="{Binding StoreLocationValue}"/>
        </DataGrid.Columns>
    </DataGrid>
</Grid>
</UserControl>

尝试:

xmlns:crypto="clr-namespace:System.Security.Cryptography.X509Certificates;assembly=System"

我知道这可能有点晚了,但是对于那些想知道快捷方式的人来说,输入

xmlns:crypto="

开始打字

using

然后从 class 所在的位置粘贴命名空间(在 VS 中的 class 名称上按 F12 并复制命名空间)并按

ctrl + spacebar

Visual Studio 将为您输入正确的 clr 类型。