我怎样才能在XAML中执行此操作:
伪代码:
<TextBox Text="{Binding Password}" Type="Password"/>
Run Code Online (Sandbox Code Playgroud)
这样当用户输入密码时,用户就会看到星星或圆点.
我已经尝试了各种示例,建议使用PasswordChar和PasswordBox,但无法使这些工作.
例如,我可以做到这一点,如图在这里:
<PasswordBox Grid.Column="1" Grid.Row="1"
PasswordChar="*"/>
Run Code Online (Sandbox Code Playgroud)
但我当然希望将Text属性绑定到我的ViewModel,这样我可以在单击按钮时发送绑定TextBox的值(不使用后面的代码),我想这样做:
<TextBox Grid.Column="1" Grid.Row="0"
Text="{Binding Login}"
Style="{StaticResource FormTextBox}"/>
<PasswordBox Grid.Column="1" Grid.Row="1"
Text="{Binding Password}"
PasswordChar="*"
Style="{StaticResource FormTextBox}"/>
Run Code Online (Sandbox Code Playgroud)
但是PasswordBox没有Text属性.
我有<input type='text'>只允许数字字符的文本框,不会让用户多次输入点(.).问题是,如果选中文本框中的文本,用户打算用点覆盖内容,从而允许它!问题是,如何在javascript中判断该文本框中的文本是否被选中.
谢谢
我在我的程序中找到了一些文本框,它们接受Control + A快捷方式,以"默认情况下"选择整个文本,"无编码".
我不知道我必须在这里提供哪些额外信息才能为所有这些信息启用它,因为我发现这些文本框之间完全没有区别.它们都是简单的拖放文本框.
注意:我不是在谈论这段代码:
if (e.Control && e.KeyCode == Keys.A)
{
textBox1.SelectAll();
}
Run Code Online (Sandbox Code Playgroud)
我想要默认选择...或者是否有更改文本框属性,以便文本框接受所有默认的Windows快捷方式?
其他(一切Control + Z,Control + X,Control + C,Control + V)的工作原理是默认!为什么不Control + A呢?
更新:Ctrl+A默认接受的文本框是屏蔽文本框,而不是常规文本框.那时我使用的是.NET 2.0.但我想最初的问题是别的,因为我可以看到Ctrl+A在.NET 2.0代码中默认工作正常.
当ASP.NET TextBox呈现它时,它会产生:
<input type="text" />
Run Code Online (Sandbox Code Playgroud)
但是,我需要将其呈现为HTML5数字类型,如:
<input type="number" />
Run Code Online (Sandbox Code Playgroud)
这可能吗?
在互联网上有许多类似的问题,包括SO,但提议的解决方案在我的情况下不起作用.场景:xaml中有一个日志文本框
<TextBox Name="Status"
Margin="5"
Grid.Column="1"
Grid.Row="5"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="600"
Height="310"/>
Run Code Online (Sandbox Code Playgroud)
在代码隐藏中有一些方法可以做一些工作并在这个文本框中添加一些多行(可能就是问题?)消息:
private static void DoSomeThings(TextBox textBox)
{
// do work
textBox.AppendText("Work finished\r\n"); // better way than Text += according to msdn
// do more
textBox.AppendText("One more message\r\n");
...
}
private static void DoSomething2(TextBox textBox)
{
// same as first method
}
Run Code Online (Sandbox Code Playgroud)
执行所有操作后,需要滚动到文本框的底部.尝试ScrollToEnd(),ScrollToLine,将文本框包装到ScrollViewer,Selection和Caret解决方法,将ScrollToEnd附加到TextChanged.在溢出文本框高度的执行行仍然需要手动滚动之后,这些都不起作用.对不起重复的问题,我想我错过了一些小问题,可以由对问题有新见解的人迅速解决.提前致谢.
我试图让Enter键在某个文本框内按下时触发一个函数,而不是触发第一个或默认按钮.
你可以看到这里发生的事情的一个例子:http://jsfiddle.net/cutsomeat/WZ6TM/1/
如果按其他键,您将收到一个带有键码的警告框,但是如果您按下Enter键,您将无法获得带有键码的警告框,而是按钮点击事件中的警告框.
显然,Enter键是触发按钮.有没有办法避免这种情况,而是在keyup事件中捕获Enter键,然后触发另一个函数?
显示" 在此处键入... ",直到用户将文本输入到a中,这TextBox是当今众所周知的可用性功能.如何在C#中实现此功能?
我的想法是覆盖OnTextChanged,但处理文本更改的逻辑" 在这里输入 "有点棘手......
在初始化时显示" 在此输入 "并在第一次输入时将其删除很容易,但我想在每次输入的文本变空时显示消息.
我使用以下Javascript来限制我的网站上的文本字段只接受数字输入,而不是其他字母或字符.问题是,它真的拒绝所有其他主要投入物,如ctrl- A选择文本,或者甚至像任何其他浏览器的功能ctrl- T或ctrl- W当选定文本框.有没有人知道一个更好的脚本只允许数字输入,但不能阻止正常命令(没有直接输入到字段中)?谢谢这是我现在使用的代码:
function numbersonly(e, decimal)
{
var key;
var keychar;
if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);
if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
return true;
else if ((("0123456789").indexOf(keychar) > -1))
return true;
else if (decimal && (keychar == "."))
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
编辑:提供已经解决了我的允许像命令的问题的解决方案中没有ctrl- A当选定文本框.这就是我在这里提出的要点,所以我又回到了使用我的原始剧本.那好吧.
我正在做一个聊天客户端,目前我有一个按钮,可以在点击时将数据显示到多行文本框.这是将数据添加到多行文本框的唯一方法吗?我觉得这是非常低效的,因为如果谈话变得非常长,那么字符串也会变得非常长.
private void button1_Click(object sender, EventArgs e)
{
string sent = chatBox.Text;
displayBox.Text += sent + "\r\n";
}
Run Code Online (Sandbox Code Playgroud)