首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TextBox接受空格,但拒绝数字和letters...why?

TextBox接受空格,但拒绝数字和letters...why?
EN

Stack Overflow用户
提问于 2014-06-06 18:23:11
回答 1查看 85关注 0票数 1

我在接受TextBoxes屏幕上的用户输入时遇到了问题。我试图尽可能地简化事情,以获得一个有效的(失败的)演示。

以下是您的看法:

<UserControl x:Class="Bogus.TestView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <StackPanel> <TextBlock Text="Enter some text here" /> <TextBox /> </StackPanel> </UserControl>

以下是视图模型:

代码语言:javascript
复制
using Caliburn.Micro;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bogus
{
    public class TestViewModel : Screen
    {
    }
}

我正在从一个WinForms控件中激活屏幕:

代码语言:javascript
复制
var w = Caliburn.Micro.IoC.Get<Caliburn.Micro.IWindowManager>();
dynamic settings = new ExpandoObject();
settings.WindowStyle = System.Windows.WindowStyle.ToolWindow;
settings.SizeToContent = System.Windows.SizeToContent.Manual;
settings.Height = 600;
settings.Width = 700;
w.ShowWindow(new TestViewModel(), settings: settings);

如果我试图键入那个文本框,只会显示空格。输入“你好世界!”你只有一个空间,就这样。:(

奇怪的是,我能够激活这个屏幕上的其他屏幕,而TextBoxes只在这个屏幕上工作fine...but?没什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 19:57:28

这个问题非常有用:How to get a reference to window from a user control using Caliburn Micro

有了这个想法,我就可以做以下操作,让按键进入新窗口:

代码语言:javascript
复制
w.ShowWindow(viewModel, settings: settings);
var view = viewModel.GetView() as System.Windows.DependencyObject;
var win = System.Windows.Window.GetWindow(view); 
System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(win);

这样做对吗?有没有更好的解决办法?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24088363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档