1
내 PCL DLL을 아래에로드 한 후 추가 참조을 LINQpad에서 사용하기 위해 두 가지 기술을 사용하여 글꼴을로드하고 표시했습니다. 첫 번째는 가장 정직 : WPF 적절한에서 작업 위LINQpad에서 제거 된 글꼴을로드하고 표시 할 수 있습니까?
var xaml = @"
<UserControl
xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
<TextBox
FontFamily=""/Songhay.Portable.Resources;Component/Fonts/#FontAwesome""
FontSize=""64""
Text=""""
/>
</UserControl>
";
var control = (UserControl)XamlReader.Parse(xaml);
control.Dump();
XAML 선언은 아주 잘하지만 LINQpad는 빈 사각형을 표시합니다. 그래서 좀 더 명확한 경로를 시도했습니다 :
var dll = Assembly.GetAssembly(typeof(Songhay.Portable.Resources.ResourceModule));
dll.GetManifestResourceNames().Dump();
var resourceName = dll.GetManifestResourceNames().First(i => i.EndsWith("FontAwesome.otf"));
using (var stream = dll.GetManifestResourceStream(resourceName))
{
var localData = new PrivateFontCollection();
var fontdata = new byte[stream.Length];
stream.Read(fontdata, 0, (int)stream.Length);
unsafe
{
fixed(byte * pFontData = fontdata)
{
localData.AddMemoryFont((System.IntPtr)pFontData, fontdata.Length);
}
}
localData.Dump();
var textBox = new TextBox
{
FontFamily = new System.Windows.Media.FontFamily(localData.Families.First().Name),
FontSize = 64,
Text = System.Net.WebUtility.HtmlDecode("")
};
textBox.Dump();
}
같은 문제 : 빈 칸. LINQpad에 대한 가장자리 사례가 너무 많습니까?
그런데이 문제를 해결하면 LINQpad가 Blend/Visual Studio 의식 외의 비공식 스케치 패드 인 매우 강력한 디자인 도구가됩니다. SVG 웹 글꼴 형식과 XAML Path
요소의