[英]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.