我有一个具有AcceptsReturn = True的TextBox。当用户按下返回时,新行将作为第一个字母" - "。 我该怎么做?
答案 0 :(得分:0)
步骤1:编写一种方法,检测按下"返回"关键按键。
第2步:添加" - "到TextBox' s .text
。
答案 1 :(得分:0)
挂钩PreviewKeyDown
事件:
<TextBox PreviewKeyDown="UIElement_OnKeyDown"
AcceptsReturn="True"
x:Name="TextBox"
</TextBox>
private void UIElement_OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
// what u need
// TextBox.Text += "-";
}
}
答案 2 :(得分:0)
可能有其他更聪明的方法可以做到这一点,但一个简单的解决方案是将一个PreviewKeyDown添加到TextBox。 (注意:使用accept返回KeyDown不会触发它由文本框处理。)
PreviewKeyDown="TextBox_KeyDown"
private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
if(e.Key == Key.Return)
{
(sender as TextBox).Text += "-";
}
}
这应该在新行中添加 - 。
答案 3 :(得分:-1)
订阅TextBox KeyDown
事件并检测是否按下Enter
:
<强> XAML 强>:
<TextBox ... KeyDown="TextBox_KeyDown"/>
<强> C#强>:
private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
TextBox txtBox = sender as TextBox;
txtBox.Text += Environment.NewLine + "-"; //add new line and "-"
txtBox.CaretIndex = txtBox.Text.Length; //caret to the end
}
}
要使用此方法,您必须false
Accept Return
属性。