Winapi 将资源数据绑定到自定义winjs控件
我正在尝试创建自定义占位符控件。以下是代码摘录:Winapi 将资源数据绑定到自定义winjs控件,winapi,windows-8,windows-store-apps,winjs,Winapi,Windows 8,Windows Store Apps,Winjs,我正在尝试创建自定义占位符控件。以下是代码摘录: (function () { var Placeholder = WinJS.Class.define(function ctor(elem, options) { this.element = elem || document.createElement('div'); this.element.winControl = this; WinJS.UI.setOptions(this, o
(function () {
var Placeholder = WinJS.Class.define(function ctor(elem, options) {
this.element = elem || document.createElement('div');
this.element.winControl = this;
WinJS.UI.setOptions(this, options);
this.init();
},
{
element: {
get: function () {
return this._element;
},
set: function (value) {
this._element = value;
}
},
placeholder: {
get: function () {
return this._placeholder;
},
set: function (value) {
this._placeholder = value;
this._placeholderElement.textContent = value;
}
},
placeholderClass: {
get: function () {
return this._placeholderClass;
},
set: function (value) {
this._placeholderClass = value;
this._placeholderElement.classList.add(value);
}
},
_placeholderElement: null,
init: function () {
this._addPlaceholder();
},
_addPlaceholder: function () {
/* Code to add placeholder. */
}
});
WinJS.Namespace.define("ControlX", { Placeholder: Placeholder });
})();
我试图以以下方式在html中使用此控件:
<div data-win-control="ControlX.Placeholder" data-win-res="{winControl:{placeholder:'resHeight'}}"><input type="text"/></div>
当我使用data win res
属性设置占位符值时,我得到一个异常:
“无法设置未定义或空引用的属性“占位符”
根据这篇文章:
我们也可以将资源字符串绑定到winControl属性
我做错了什么
是否有其他方法将资源字符串绑定到winControl属性?我正在用C#和XAML开发Windows 8应用程序,因此不知道确切的解决方案是什么,但我认为这个回答可能有效: 我建议,不要只在参数中创建内部类和定义方法,而应该将每个方法和类分离并组合在一个方法中,并为这个全新的自定义WinJS控件指定适当的名称。 在给出该控件的名称后,应该通过DIV标记中的名称调用该控件 我没有太多的能力和实践它的代码,最好不要提供代码,抱歉。但我相信,说出这个名字并通过这个名字打电话会有所帮助 祝你一切顺利
(请原谅,如果您认为这没有给出您的答案。但我认为这可能会有所帮助)您的控件是否在页面控件中?如果是这样,您是否在PageControls的ready函数中调用WinJS.Resources.processAll(元素)?我似乎能够使这项工作发挥作用,尽管我不知道我们两人的努力有什么不同。