1

https://github.com/igorkulman/AutoCompleteBox/blob/master/AutoCompleteBox/AutoCompleteBox.cs

我下载了这个控件,但我无法构建它,

public Func<string, string, bool> SearchFunction
{
   get { return (Func<string, string, bool>)GetValue(SearchFunctionProperty); }
   set { SetValue(SearchFunctionProperty, value); }
}

当我尝试将 SearchFunction 用作公共时,我收到此错误。当我将其更改为内部时,它正在工作,但这次我无法从我的项目中访问 SearchFunction。

Method 'CodeAutoComplete.AutoCompleteBox.SearchFunction.get()' has a parameter of type
 'System.Func<System.String, System.String, System.Boolean>' in its signature. Although 
this generic type is not a valid Windows Runtime type, the type or its generic parameters 
implement interfaces that are valid Windows Runtime types. Consider changing the type 
'System.Func<T1, T2, TResult>' in the method signature. It is not a valid Windows Runtime 
parameter type. C:\\..CodeAutoComplete\AutoCompleteBox.cs CodeAutoComplete (Windows 8.1)

我应该怎么办?

4

1 回答 1

3

不要将文件添加到 WindowsRuntimeComponent 项目,而是将其添加到 Windows 商店类库(如果您已经创建了项目,您可以在项目属性->输出类型中将输出类型更改为类库)。
问题是,如果您创建一个 WindowsRuntime 组件,您可以公开的内容会受到更多限制,因为您公开的所有内容都需要具有有效的 WindowsRuntime 类型映射。

于 2013-09-23T19:09:17.280 回答