You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF中对应Windows Forms textBox.Lines获取文本数组的等效方案

WPF TextBox 替代 WinForms Lines 属性的数组实现方案

我完全懂你的痛点——在WinForms里一行string[] file3 = textBox1.Lines;就能轻松把文本框内容转成字符串数组,换到WPF里找不到这个现成属性确实有点挠头。别担心,WPF里有几种直接返回字符串数组的等效实现,完美匹配你的需求:

  • 用系统换行符拆分(最接近WinForms行为)
    直接借助TextBox.Text属性,结合String.Split和Environment.NewLine来拆分,它会自动适配当前系统的换行规则(Windows下就是\r\n),代码和WinForms一样简洁:

    string[] lines = textBox.Text.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
    
  • 兼容所有换行符场景
    如果你的文本可能包含不同格式的换行符(比如单独的\n或\r),可以用更全面的拆分规则,确保所有换行场景都能正确识别:

    string[] lines = textBox.Text.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
    
  • 用TextBox内置的行操作方法
    WPF的TextBox提供了LineCount(获取总行数)和GetLineText(获取指定行内容)的方法,我们可以循环组装成数组,注意要去掉GetLineText返回内容末尾的换行符,和WinForms的Lines行为保持一致:

    string[] lines = new string[textBox.LineCount];
    for (int i = 0; i < textBox.LineCount; i++)
    {
        lines[i] = textBox.GetLineText(i).TrimEnd('\r', '\n');
    }
    

小提示:要确保你的WPF TextBox开启了多行模式,也就是设置AcceptsReturn="True",否则这些方法只会返回单行内容哦。

内容的提问来源于stack exchange,提问作者JPG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 11:11:40