Silverlight 프로젝트에 몇 가지 사용자 지정 글꼴을 추가했습니다. 그러나, 그들의 행동은 아주 산발적이다. 나는 그것을 custom control에서 사용하고있다. 컨트롤을 처음 추가하면 잘 표시됩니다. 다시 작성하면 글꼴이 기본값으로 다시 변경됩니다. 브라우저에서 앱을 볼 때 기본 글꼴도 사용됩니다. 글꼴은 자원으로 포함됩니다.Silverlight 임의의 글꼴 버그
상위 내가 디자이너에 컨트롤을 추가 한 직후 인은, 아래는 브라우저에서 응용 프로그램입니다. 나는 이것이 어떤 원인인지 전혀 모른다. 컨트롤에 대한 코드가 필요한 경우이를 제공 할 수 있습니다.
BorderedTextBlock.xaml
<UserControl x:Class="MindWorX.CustomPropertyReproduction.Controls.BorderedTextBlock"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Height="100" Width="200">
<Grid x:Name="LayoutRoot">
<Border BorderThickness="1" BorderBrush="Lime">
<TextBlock Name="MainTextBlock" Margin="4" TextWrapping="Wrap" />
</Border>
</Grid>
</UserControl>
BorderedTextBlock.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace MindWorX.CustomPropertyReproduction.Controls
{
public partial class BorderedTextBlock : UserControl
{
public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(String), typeof(BorderedTextBlock), new PropertyMetadata("TextBlock", new PropertyChangedCallback(OnTextChanged)));
private static void OnTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
BorderedTextBlock sender = (d as BorderedTextBlock);
sender.MainTextBlock.Text = (String)e.NewValue;
}
new public static readonly DependencyProperty FontFamilyProperty = DependencyProperty.Register("FontFamily", typeof(FontFamily), typeof(BorderedTextBlock), new PropertyMetadata(new FontFamily("Portable User Interface"), new PropertyChangedCallback(OnFontFamilyChanged)));
private static void OnFontFamilyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
BorderedTextBlock sender = (d as BorderedTextBlock);
sender.MainTextBlock.FontFamily = (FontFamily)e.NewValue;
}
new public static readonly DependencyProperty FontSizeProperty = DependencyProperty.Register("FontSize", typeof(Double), typeof(BorderedTextBlock), new PropertyMetadata(11d, new PropertyChangedCallback(OnFontSizeChanged)));
private static void OnFontSizeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
BorderedTextBlock sender = (d as BorderedTextBlock);
sender.MainTextBlock.FontSize = (Double)e.NewValue;
}
public BorderedTextBlock()
{
InitializeComponent();
}
public String Text
{
get { return (String)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
new public FontFamily FontFamily
{
get { return (FontFamily)GetValue(FontFamilyProperty); }
set { SetValue(FontFamilyProperty, value); }
}
new public Double FontSize
{
get { return (Double)GetValue(FontSizeProperty); }
set { SetValue(FontSizeProperty, value); }
}
}
}
1Yanone Kaffeesatz 얇은는 구글 글꼴 라이브러리입니다 너의 문제. –
문제의 재현을 불러옵니다. 테스트를하면 기존 글꼴로 잘 작동하는 것을 확인할 수 있습니다. 하지만 사용자 정의 글꼴이 아닙니다. http://dl.dropbox.com/u/992656/MindWorX.CustomPropertyReproduction.7z –
.7z 확장 프로그램이 dropbox에서 가져 와서 샘플을 보려면 무엇인지 알아낼 수 없습니다. 위 코드를 게시하여 문제의 원인을 파악하는 데 도움이 될 수 있습니까? –