3 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
如果您正在尋找換行的數(shù)量,您可以使用GetLineIndexFromCharacterIndex()。
作為參數(shù),您可以傳遞最后一個(gè)字符(對(duì)應(yīng)于Text.Lenght)。
int WrappedLines1 = TextBox.GetLineIndexFromCharacterIndex(TextBox.Text.Length) + 1;
或TextBox.LineCount()。
第一個(gè)方法返回一個(gè)從零開(kāi)始的索引,第二個(gè)方法從 1 開(kāi)始計(jì)數(shù)。
int WrappedLines2 = TextBox.LineCount;
物理行數(shù)(由換行分隔的行)可以用 計(jì)算Split().Count()。
int LineFeedsCount = TextBox.Text.Split(new[] { "\n" }, StringSplitOptions.None).Count();
如果您不想計(jì)算空行,請(qǐng) StringSplitOptions.RemoveEmptyEntries用作選項(xiàng)參數(shù)。
您可以驗(yàn)證行數(shù)是否正確,將TextWrapping屬性設(shè)置為.NoWrap并使用 計(jì)算行數(shù).LineCount。
TextBox1.TextWrapping = TextWrapping.NoWrap;
int LineFeedsCount = TextBox1.LineCount;

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
您的代碼中有拼寫(xiě)錯(cuò)誤,正在查找字母r
而不是回車符\r
嘗試 var lineCount = t.Text.Split(new[] {'\n','\r'}).length;
另一種選擇是按上述方式拆分,然后將每行的長(zhǎng)度除以一行中可以包含的字符數(shù)。您可能需要計(jì)算此值,因?yàn)?TextBox 似乎沒(méi)有Columns
屬性。

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
我想我找到了LineCount不工作的原因。`
TextBox 實(shí)際上在 DataColumn 中。我將寬度設(shè)置為 2*。
<telerik:GridViewDataColumn Header="Info" DataMemberBinding="{Binding Info}" Width="2*">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBox
AcceptsReturn="True"
TextWrapping="Wrap"
Text="{Binding Info, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Loaded="TextBox_Loaded"/>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>`.
Width 屬性會(huì)導(dǎo)致此問(wèn)題。如果我刪除它,那么它就可以工作。但我需要寬度,不知道為什么以及如何?
- 3 回答
- 0 關(guān)注
- 315 瀏覽
添加回答
舉報(bào)