拼写检查器我想禁用了Windows Phone 8.1的应用程序,这是在默认情况下,在一个AutoSuggestBox拼写检查器,但不能期望:如何禁用的AutoSuggestBox
的控制的标记:
<AutoSuggestBox
Name="txtOrgunit"
TextChanged="txtOrgunit_TextChanged"
SuggestionChosen="txtOrgunit_SuggestionChosen">
</AutoSuggestBox>
我怎样才能做到这一点的IsSpellCheckEnabled
财产上的内部文本框变为假从标记或代码?
现有的解决方案,我发现无论是处理与其它平台上同样的问题(是这样的:
How can I disable the spell checker on text inputs on the iPhone
这:
how to disable spell checker for Android AutoCompleteTextView?)
或者他们是笨拙的火箭科学,像这样:
编辑:在逐字地应用第一个答案中提出的解决方案之后,实现了OP目标,但是控件的功能被打破了(事件发生,itemssource结束了30个项目,但没有一个显示 - 不再显示“下拉列表”)。因此,我给下面的txtOrgunit_TextChanged
处理程序的源代码:
private void txtOrgunit_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
{
if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
{
var ui = sender.Text.Trim().ToUpperInvariant();
var matches = new List<IdAndCaption>();
var count = 0;
for (int i = 0; i < Com.MasterdataBasic.Orgunits.Length; ++i)
{
var cand = Com.MasterdataBasic.Orgunits[i];
var cap = String.Format("{0} {1}", cand.Abbrev, cand.LongCap);
if (cap.ToUpperInvariant().Contains(ui))
{
var ele = new IdAndCaption() { Id = cand.OrgID, Caption = cap };
matches.Add(ele);
++count;
/* UX decided it unreasonable to have the user scroll through more...
* should type more letters to restrict further */
if (count >= 30) break;
}
}
sender.ItemsSource = matches;
Rec.Report.OrgID = -1;
}
}
我核实,当我从autosuggestbox删除样式标签,自动提示功能恢复。
谢谢!我遵循你的指示,并达到我所需要的。但是现在测试失败 - 实际的自动建议功能被打破。当我从目标自动提示框中移除样式属性时,它会再次运行。该模板中必须缺少一些与数据绑定相关的内容。请参阅编辑。 – dlatikay
可能,该模板需要''部分...试图弄清楚它在MSDN文章中是否被截断......是否没有办法指定仅部分一个模板,并从内置继承其余的? –
dlatikay
这可能与弹出式元素有关。我直到明天都不在我的Dev机器上,所以不能做任何测试,但是当我回到它并更新我的答案时,如果我设法弄清楚,我会看看。 – Bugs