안녕하세요.
가장 간단하고 깔금해보이는 글꼴설정 방법이 궁금합니다.
Uri, 경로설정없이 추가적인 Mainwindow.xaml.cs에 편집없이
가능한 간결하고 겉으로 보이는 것이 없는 글꼴설정 방법을 찾고있습니다.
(ex
<Label x:Name="lbl" FontFamily="Fonts\#Daum"/> 경로설정
tb.FontFamily = new FontFamily(new Uri("pack://application:,,,/") Uri이용
밑의 내용은 참고만 부탁드립니다.(내용이 많이 깁니다. )
Youtube 동영상 : C# WPF UI Tutorials: 04 - Custom Window Chrome and Styles 를 통해서
공부 중입니다.
이 동영상에선 Fonts.xaml, app.xaml, MainWindow.xaml을 편집하고 FontFamliy를 이용해 글꼴을 수정합니다.
동영상을 그대로 따라했을 시 글꼴적용이 안됩니다.
방법은
App.xaml
<ResourceDictionary Source="./Style/Fonts.xaml"/>
Fonts.xaml
<FontFamily x:Key="LatoThin">pack://application;,,,/Fonts/#Lato Thin</FontFamily>
MainWindow.xaml
<TextBlock Text="Welcom, friend!" FontFamily="{StaticResource LatoThin}" FontSize="48"/>
(텍스트박스 입력)
이렇게 만으로 구동되는것 같습니다.
TextBlock Text=“Welcom, friend!” FontFamily="{StaticResource LatoThin}
저의경우 이렇게하면 StaticResource LatoThin 이부분에서 리소스가 없다고 뜹니다
그래서 선택한 방법이 Style TargetType을 추가해줬습니다.
이 경우 글꼴변경 적용이 안됩니다.
마지막으로 선택한 방법이
App.xaml or Mainwindow에 Resources를 넣는 것입니다.
<FontFamily x:Key="test.App.xaml" >/Fonts/#Lato Bold</FontFamily>
현재로선 App.xaml에 이 코드를 추가하는 것이 가장 나아보입니다.
구동환경
.NET 6.0
C# 10
원본파일 Gitgub.
WPF_Records/FontFamily/Fasetto.word at main · SSstupid/WPF_Records · GitHub
감사합니다.
2개의 좋아요
앗 저는 윈도우에서 폰트를 직접 설치하고 나서 사용했던 것이 전부라서…
FontFamily=“Friz Quadrata Std”
답변은 아니지만,
@Stupid 연구하신 방법들 생각도 못했는데 감사합니다!
그리고 나중에 아티클로 만들어 주시면 엄청 좋을 것 같아요!
1개의 좋아요
원하시는 직접적인 내용은 아니지만 아래의 링를 참고할 수 있을 것 같습니다.
2개의 좋아요
@Stupid 강좌 팁 글 처럼 써주시면 좋을 것 같아요!!
네이버 마루 부리 글꼴을 내려받은 후
/resources에 ttf배치, 리소스로 등록 한 후
| Fonts.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--<FontFamily x:Key="Font1">/FontFamily;Component/#MaruBuri Regular</FontFamily>
<FontFamily x:Key="Font2">/FontFamily;Component/#MaruBuri Light</FontFamily>-->
<FontFamily x:Key="Font1">pack://application:,,,/resources/#MaruBuri Regular</FontFamily>
<FontFamily x:Key="Font2">pack://application:,,,/resources/#MaruBuri Light</FontFamily>
</ResourceDictionary>
| App.xaml
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Fonts.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
이후 MainWindow.xaml에 다음처럼 사용할 수 있습니다.
| MainWindow.xaml
<StackPanel Orientation="Vertical">
<Label FontFamily="{StaticResource Font1}" FontSize="40">테스트 입니다.</Label>
<Label FontFamily="{StaticResource Font2}" FontSize="40">테스트 입니다.</Label>
</StackPanel>
실행가능한 소스코드를 통해 코드를 확인할 수 있습니다.
4개의 좋아요