Windows Phone 7 用のアプリを開発していますが、標準の TextBox で非常に奇妙な問題に直面しました。「スペース」と入力できません。他のすべてのキーは正常に機能しますが、「スペース」キーは単純に無視され、エラーは発生しません。
テキストボックスに動的に入力します。これを担当するコードは次のとおりです。
var newComment = new TextBox()
{
Width = 378,
MaxLength = 128,
AcceptsReturn = true,
/*Tag = ... ,*/
/*Style = ... ,*/
/*BorderBrush = ... ,*/
Margin = new Thickness(-12, 0, 0, 0)
};
newComment.InputScope = new InputScope();
newComment.InputScope.Names.Add(new InputScopeName() { NameValue = InputScopeNameValue.Text });
newComment.KeyDown += (sender, args) =>
{
if (args.Key == System.Windows.Input.Key.Enter)
{
args.Handled = true;
/* ... */
}
};
container.Items.Add(newComment);
関係のない(と思う)ものをいくつかコメントアウトしました。「コンテナ」は ListBox のインスタンスです。
"KeyDown" イベント ハンドラー内にブレークポイントを配置して "Space" を押すと、args.Key
"不明" ( args.PlatformKeyCode
"160") になります。アプリの他の場所にテキストボックスがあり (動的ではありません)、問題なく動作します。
デバイスだけでなくエミュレーターでもテストされています(これが違いを生む場合、私はHTC Mozartを持っています)。マンゴーの開発中。