0

我在 C# MAINWINDOW.xaml.cs 中有一个这样的字符串集合

public class NameList : ObservableCollection<Shortcuts>
        {
            public NameList()     : base()
            {
                Add(new Shortcuts("ctrl", "b","s"));
                Add(new Shortcuts("ctrl", "b","m"));
                Add(new Shortcuts("ctrl", "b","p"));
                Add(new Shortcuts("ctrl", "b","1"));
            }
        }

        public class Shortcuts
        {
            private string firstkey;
            private string secondkey;
            private string lastkey;

            public Shortcuts(string first, string second, string last)
            {
                this.firstkey = first;
                this.secondkey = second;
                this.lastkey= last;
            }

            public string Firstkey
            {
                get { return firstkey; }
                set { firstkey = value; }
            }

            public string Secondkey
            {
                get { return secondkey; }
                set { secondkey = value; }
            }

            public string Lastkey
            {
                get { return lastkey; }
                set { lastkey = value; }
            }
        }
    }

然后在 MainWindow.xaml 本身我有一个组合框,我想将这些项目绑定到组合框,所以这就是我所做的

<Window x:Class="Testing_learning.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:c="clr-namespace:Testing_learning"
        Title="Outlook Context Settings" Height="350" Width="525">
    <Window.Resources>
         <c:ListName Key ="NameListData"/>

    </Window.Resources>

哦顺便说一句,项目名称是Testing_learning这就是为什么会有这个

xmlns:c="clr-namespace:Testing_learning"

但问题是当我添加这行代码时

<Window.Resources>
         <c:ListName Key ="NameListData"/>

        </Window.Resources>

我在 c:ListName 收到错误,找不到类型 ListName 为什么会这样?有什么想法吗?

截图 1 在此处输入图像描述

截图 2 在此处输入图像描述

4

4 回答 4

2

好像是笔误?你的 C# 有 NameList,但你的 XAML 有 ListName。

于 2012-05-25T14:44:39.810 回答
2

你的类定义:

public class NameList : ObservableCollection<Shortcuts>
    {
    //[…]

你的xml:

<c:ListName Key ="NameListData"/>

NameList与 不同ListName。由于您没有ListName课程,您将看到“未找到列表名称”错误。

于 2012-05-25T14:45:27.763 回答
1

你还有一个错字:Key必须是x:Key

<Window.Resources>
    <c:NameList x:Key="NameListData" />
</Window.Resources>

并且您已将类嵌套在 MainWindow 类中。移出:

namespace Testing_learning
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }

    public class NameList : ObservableCollection<Shortcuts>
    {
        ...
    }

    public class Shortcuts
    {
        ...
    }
}
于 2012-05-25T21:52:36.913 回答
0

当我将这两个类移动到单独的文件时,它起作用了。

编辑:

即使类在 MainWindow.xaml 中,构建也可以解决问题

在此处输入图像描述

于 2012-05-26T07:23:57.827 回答