در این مطلب با نحوه اضافه کردن Font Icon به یک پروژه WPF آشنا خواهیم شد.
برای شروع ابتدا Font Icon مد نظر خود را دانلود کنید. در این مطلب از Material Design Icons استفاده خواهیم کرد. این فونت اپن سورس بوده و برای پروژه های شخصی و تجاری قابل استفاده است.
در بخش Solution Explorer بر روی اسم پروژه کلیک راست کرده و سپس از منوی Add گزینه Add Exisiting Item را انتخاب کنید. سپس در پنجره باز شده فایل فونت را انتخاب کنید تا به پروژه اضافه شود.
نکته: در صورتی که فایل فونت را نمیتوانید انتخاب کنید. در پایین پنجره مطمئن شوید گزینه All Files انتخاب شده باشد.
پس از اضافه کردن فایل در بخش Properties مطمئن شوید Build Action فونت شما روی Resource قرار گرفته باشد.
برای دسترسی به فونت مورد نظر باید در فایل App.xaml فونت اضافه شده را تعریف کنیم.
<FontFamily x:Key="FontIcon">pack://application:,,,/#Material Design Icons</FontFamily>
نکته: مطمئن شوید کد فوق در داخل تگ Application.Resources قرار گرفته باشد.
توجه داشته باشید اسمی که در این تگ قرار میگیرد اسم حقیقی فونت است نه اسم فایل آن. برای مشاهده اسم حقیقی فونت، در ویندوز فونت را باز کرده و در پنجره پیش نمایش اسم آن را میتوانید مشاهده کنید.
شما میتوانید به روش های مختلفی از این فونت استفاده کنید. به عنوان مثال برای استفاده در TextBlock به این صورت عمل کنید:
<TextBlock FontFamily="{StaticResource FontIcon}" Text="?" />
و یا برای استفاده در Button:
<Button Content="?" FontFamily="{StaticResource FontIcon}" />
نکته: یونیکد آیکون در XAML به صورت زیر است و ویرایشگر پس از ذخیره آن را تبدیل میکند.
همانطور که مشاهده کردید استفاده از آن ساده است اما شما باید یونیکد آیکون مورد نظر را پیدا کرده تا بتوانید از آن استفاده کنید. در ادامه نحوه سادهتر کردن این مورد را بررسی خواهیم کرد.
برای استفاده آسانتر از این نوع فونت ها در XAML ابتدا باید اسم و یونیکد آیکون های مختلف را استخراج کرده و سپس کد های سیشارپ را تولید کنیم. برای این منظور از وب سایت IconFont2Code استفاده خواهیم کرد.
همانند تصویر زیر، با انتخاب فونت مورد نظر، وب سایت کد های سیشارپ مورد نیاز را برای ما تولید خواهد کرد. کد ها را کپی کرده و در پروژه خود اضافه کنید.
پس از اضافه کردن، به namespace و نام کلاسی که ایجاد کردید دقت کنید.
در فایل XAML که قرار است از این آیکون ها استفاده کنیم namespace کلاس کمکی خود را اضافه میکنیم:
xmlns:helper="clr-namespace:WpfApp4.Helpers"
سپس به صورت زیر به آیکون های مورد نظر دسترسی خواهیم داشت:
<TextBlock FontFamily="{StaticResource FontIcon}" Text="{x:Static helper:IconFont.InformationOutline}" />
در این مطلب با نحوه اضافه کردن فونت آیکون به پروژه آشنا شدیم و توانستیم با استفاده از ابزار های در دسترس از فونت آیکون دلخواه خود استفاده کنیم.
?? در صورتی که سوال و یا نظری دارید از طریق بخش نظرات با من در ارتباط باشید.