gpt4 book ai didi

wpf - 防止 WPF TextBox 显示在多行上

转载 作者:行者123 更新时间:2023-12-01 09:06:26 29 4
gpt4 key购买 nike

我有一个 WPF 文本框,用于接受一个搜索词,并在用户按下 Enter 键(聚焦文本框)时对该搜索词执行某些操作。

由于无法解释的原因,该 TextBox 允许输入多行文本。

我已经设置了TextWrappingNoWrapMaxLines1 .关联的事件处理程序指示它在 Environment.NewLine 终止文本时处理事件。

除了包装,其他一切都按预期工作。如何防止文本换行?

<TextBox Height="23" Margin="24,1,12,0" Name="txtSearch" VerticalAlignment="Top" TextWrapping="NoWrap" Visibility="Visible" MinWidth="50" LostFocus="txtSearch_LostFocus" AcceptsReturn="True" TextChanged="txtSearch_TextChanged" MaxLines="1" />


private void txtSearch_TextChanged(object sender, TextChangedEventArgs e)
{
if (txtSearch.Text.EndsWith(Environment.NewLine))
{
string search = txtSearch.Text.Replace(Environment.NewLine, string.Empty);
e.Handled = true;

MainViewModel vm = (MainViewModel)this.FindResource("viewModel");
vm.SearchText = search;
}
}

最佳答案

当您按 Enter 时,您的意思是它会自动换行吗?或者当文本变得太长时?

您有 AcceptsReturn="True" ,这意味着用户可以使用 TextBox 中的 Enter 键来创建换行符。尝试将其设置为 False。

关于wpf - 防止 WPF TextBox 显示在多行上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6819125/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com