Dot-Net

將 FontStyles 和 FontWeights 綁定到 WPF ComboBox

  • September 5, 2013

我只是想知道是否可以將可用FontStyles 和FontWeights 的列表綁定到 a ComboBox

例如,要將字型列表綁定到組合框,您可以使用:

FontComboBox.ItemsSource = Fonts.SystemFontFamilies;

我也可以有一些東西:

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

System.Windows.FontWeights它是否需要對and類進行反思,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}"/>

引用自:https://stackoverflow.com/questions/1994696