.net - 将 FontStyles 和 FontWeights 绑定(bind)到 WPF ComboBox

标签 .net wpf binding combobox styles

我只是想知道是否可以将可用的 FontStyleFontWeight 列表绑定(bind)到 ComboBox

例如,要将字体列表绑定(bind)到组合框,您可以使用:

FontComboBox.ItemsSource = Fonts.SystemFontFamilies;

我还可以买一些东西吗:

FontStyleComboBox.ItemsSource = .... 
FontWeightComboBox.ItemsSource = ....  ?

是否需要对 System.Windows.FontWeights 和 System.Windows.FontStyles 类进行反射,或者是否有比这更简单的方法?

谢谢

最佳答案

对于字体系列组合:

<ComboBox Name="Families" ItemsSource="{x:Static Fonts.SystemFontFamilies}"/>

对于字体样式:

<ComboBox Name="Styles">
    <x:Static Member="FontStyles.Normal"/>
    <x:Static Member="FontStyles.Italic"/>
    <x:Static Member="FontStyles.Oblique"/>
</ComboBox>

对于字体粗细:

<ComboBox Name="Weights">
    <x:Static Member="FontWeights.Black"/>
    <x:Static Member="FontWeights.Bold"/>
    <x:Static Member="FontWeights.DemiBold"/>
    <x:Static Member="FontWeights.ExtraBlack"/>
    <x:Static Member="FontWeights.ExtraBold"/>
    <x:Static Member="FontWeights.ExtraLight"/>
    <x:Static Member="FontWeights.Heavy"/>
    <x:Static Member="FontWeights.Light"/>
    <x:Static Member="FontWeights.Medium"/>
    <x:Static Member="FontWeights.Normal"/>
    <x:Static Member="FontWeights.Regular"/>
    <x:Static Member="FontWeights.SemiBold"/>
    <x:Static Member="FontWeights.Thin"/>
    <x:Static Member="FontWeights.UltraBlack"/>
    <x:Static Member="FontWeights.UltraBold"/>
    <x:Static Member="FontWeights.UltraLight"/>
</ComboBox>

现在进行测试:

<TextBlock 
    Text="This is some text." 
    FontFamily="{Binding ElementName=Families, Path=SelectedItem}" 
    FontStyle="{Binding ElementName=Styles, Path=SelectedItem}" 
    FontWeight="{Binding ElementName=Weights, Path=SelectedItem}"/>

关于.net - 将 FontStyles 和 FontWeights 绑定(bind)到 WPF ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994696/

相关文章:

.net - KERNELBASE.dll 异常 0xe0434352 偏移量 0x000000000000a49d

.net - NuGet:是否需要引用隐式依赖项?

c# - .NET Chart 控件中的多系列条形图

c# - WPF - Canvas 中的中心控件(标签)

c# - 如何在C#中动态改变复选框的颜色

WPF、WCF、Entity、MVVM的疑惑!

wpf - 将 Windows 7 屏幕键盘合并到 WPF 应用程序中

wpf - TreeViewItem isSelected 被触发两次

wpf - 如何将多个值绑定(bind)到单个 WPF TextBlock?

c# - 绑定(bind)到父 DataContext 中的依赖属性