wpf怎么把系统字库的字体大小读取到combobox

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf怎么把系统字库的字体大小读取到combobox相关的知识,希望对你有一定的参考价值。

参考技术A 用WPF的ComboBox控件的时候,需要用到TextChanged属性,但是这个属性属于TextBox控件,不用担心,ComboBox中存在TextBox,所以关键问题就是如何找到ComboBox中的TextBox控件。 ComboBox控件的默认组成:第一层(1个控件):System.Windows.Controls.Grid第二层(2个控件):System.Windows.Controls.Primitives.Popup;Microsoft.Windows.Themes.ListBoxChrome;System.Windows.Controls.TextBox;System.Windows.Controls.Primitives.ToggleButton Content: IsChecked:False控件都是按顺序排列的,所以取得TextBox控件如下:((TextBox)VisualTreeHelper.GetChild(VisualTreeHelper.GetChild(this.cbServer, 0), 2)).TextChanged += new TextChangedEventHandler(SetDataBaseIsEnabled); 注意:这段代码要放在Window_Loaded()事件中,不能放在页面的构造方法中。就可以为ComboBox控件添加上TextChanged属性了。PS:查找ComboBox中控件的代码:private void button1_Click(object sender, RoutedEventArgs e) for (int i = 0; i < VisualTreeHelper.GetChildrenCount(this.cbServer); i++) DependencyObject o1 = VisualTreeHelper.GetChild(this.cbServer, i); for (int j = 0; j < VisualTreeHelper.GetChildrenCount(o1); j++) DependencyObject o2 = VisualTreeHelper.GetChild(o1, j);

如何将 TextBlock(字体大小)增大/缩小到 WPF 中的可用空间?

【中文标题】如何将 TextBlock(字体大小)增大/缩小到 WPF 中的可用空间?【英文标题】:How to grow/shrink a TextBlock (Font Size) to the available space in WPF? 【发布时间】:2011-06-15 05:26:58 【问题描述】:

我看到这个问题问了很多,但是,与我正在寻找的相反。虽然其他人希望控件根据文本大小调整自身大小,但我试图弄清楚是否有办法将文本大小增加到可用空间量。

采用数字时钟窗口的概念,您希望根据时钟所在窗口的大小来说明时间增长(或缩小)的数字。如果没有办法自动执行此操作,请使用任何指针以编程方式完成此任务?

【问题讨论】:

【参考方案1】:

WPF Viewbox 控件将扩大/缩小其内容到可用空间:

http://www.wpftutorial.net/ViewBox.html

只需将您的 TextBlock 放在 ViewBox 中:

<Viewbox Stretch="Uniform" Width="50" Height="50">
    <TextBlock Text="Test" />
</Viewbox>

当然,您的 Viewbox 通常由其容器缩放,但希望您明白这一点!

【讨论】:

以上是关于wpf怎么把系统字库的字体大小读取到combobox的主要内容,如果未能解决你的问题,请参考以下文章

XP系统下WPF程序字体大小不一的问题

WPF 怎么使用资源文件中的字体

centos字符界面怎样调字体大小

安卓的手机字体怎么放大

数字电视机顶盒中的中间件中用的是啥样的矢量字库?

WPF如何改变GridView字体大小