2009-09-21 5 views
10

में एप्लिकेशन के लिए FontFamily और FontSize सेट करें। मैं App.xaml में एप्लिकेशन के लिए FontFamily और FontSize कैसे सेट कर सकता हूं?App.xaml

उत्तर

12

मुझे 2008 से blog post by David Padbury मिला है जो इसमें जाता है और इसे कोड से कैसे बदला जाता है। असल में आप मेटा डेटा गुणों को ओवरराइड करते हैं जो आपके मानों में मौजूदा मानों में विलीन हो जाते हैं।

TextElement.FontFamilyProperty.OverrideMetadata(
typeof(TextElement), 
new FrameworkPropertyMetadata(
    new FontFamily("Comic Sans MS"))); 

TextBlock.FontFamilyProperty.OverrideMetadata(
typeof(TextBlock), 
new FrameworkPropertyMetadata(
    new FontFamily("Comic Sans MS"))); 

वहाँ भी इस MSDN forum post जो कैसे दो तरह से XAML में यह करने के लिए बताते हैं।

1) सबसे पहले आप Control वर्ग

<Style TargetType="{x:Type Control}"> 
    <Setter Property="FontFamily" Value="Constantia"/> 
</Style> 

के लिए एक "वैश्विक" शैली को परिभाषित करने और उसके बाद अन्य नियंत्रण करने के लिए है कि लागू करने के लिए BasedOn संपत्ति का उपयोग करें।

<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
<StackPanel.Resources> 
    <Style TargetType="{x:Type Control}" x:Key="ControlStyle"> 
    <Setter Property="FontFamily" Value="Constantia"/> 
    </Style> 

    <Style TargetType="{x:Type Label}" x:Key="LabelStyle" BasedOn="{StaticResource ControlStyle}"> 
    <Setter Property="FontWeight" Value="Bold" /> 
    </Style> 
     <Style TargetType="{x:Type Button}" x:Key="ButtonStyle" BasedOn="{StaticResource ControlStyle}"> 
     <Setter Property="Background" Value="Blue"/> 
    </Style> 
</StackPanel.Resources> 

<Label Style="{StaticResource LabelStyle}">This is a Label</Label> 
<Button Style="{StaticResource ButtonStyle}">This is a Button</Button> 
</StackPanel> 

2) आप प्रणाली फोंट सेट कर सकते हैं:

<FontFamily x:Key="{x:Static SystemFonts.MenuFontFamilyKey}">./#Segoe UI</FontFamily> 
<System:Double x:Key="{x:Static SystemFonts.MenuFontSizeKey}">11</System:Double> 
<FontWeight x:Key="{x:Static SystemFonts.MenuFontWeightKey}">Normal</FontWeight> 

हालांकि मैं शायद इस की सिफारिश नहीं होगा।

3
<Application.Resources> 
    <Style x:Key="WindowStyle" TargetType="{x:Type Window}"> 
      <Setter Property="FontFamily" Value="PalatineLinoType" /> 
    </Style> 
</Application.Resources> 
संबंधित मुद्दे