簡體   English   中英

WPF 文本框可調整大小的文本

[英]WPF textbox resizable text

我正在嘗試以編程方式創建可調整大小的文本框(因此當調整窗口大小時,文本框會自行調整),但與文本框相比,文本框內的文本總是非常小:

TextBox textBox = new TextBox();
textBox.Name = name;
textBox.Text = text;
textBox.SetValue(Grid.ColumnProperty, column);
textBox.SetValue(Grid.RowProperty, row);
textBox.SetValue(Grid.ColumnSpanProperty, columnspan);
textBox.SetValue(Grid.RowSpanProperty, rowspan);

所以我添加了一個綁定來保持文本與文本框的大小相同:

Binding b = new Binding();
b.RelativeSource = new RelativeSource(RelativeSourceMode.Self);
b.Path = new PropertyPath(TextBox.ActualHeightProperty);
textBox.SetBinding(TextBox.FontSizeProperty, b);

但是當我這樣做時,文本對於文本框來說變得太大了。

我在這里做錯了什么/錯過了什么?

您將像素的字體大小綁定到設備獨立單位的實際高度,因此它的蘋果到橘子。

有什么理由不使用視圖框嗎?

類似的東西(我正在徒手做這個,所以要小心..沒有ide可能有錯別字)

TextBox textBox = new TextBox();
Viewbox vb = new Viewbox();

vb.Child = textbox;
vb.Stretch = Uniform;
textBox.Name = name;
textBox.Text = text;
vb.SetValue(Grid.ColumnProperty, column);
vb.SetValue(Grid.RowProperty, row);
vb.SetValue(Grid.ColumnSpanProperty, columnspan);
vb.SetValue(Grid.RowSpanProperty, rowspan);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM