Xamarin Form มารู้จักกับ Resource Dictionaries

feedallcat
Arcadia Software Development
1 min readDec 21, 2018

สวัสดีคับ วันนี้เราจะมาทำความรู้จักกับ Resource Dictionaries กันนะครับ เชิญรับชมรับฟังรับอ่านได้เลยครับ

เคยไหมคับ เราทำ View มา และมี Label ที่แสดงคำอยู่เป็นแสนอันที่เหมือนๆกันในหน้านี้ เราดีไซน์ออกแบบมาอย่างดีแล้ว วันหนึ่ง!!! ต้องเปลี่ยนขนาดตัวอัษให้เล็กลง 1 หน่วย โอ้ว เราต้องมาไล่แก้ FontSize ทั้งหมดแสนตัวคับ สุดยอด นั่นแหละคับวันนี้เราจะมาทำให้ Label แสนตัวถูกใช้ FontSize อันเดียวกัน เปลี่ยนที่เดียวจบ!!!

มาเริ่มด้วยการสร้าง Label แสนอันกันนะคับ

จะบ้าเรอะ แสนอัน

ทีนี้ผมคงไม่ต้องไปใส่ FontSize ทั้งหมดนะคับ ให้ผู้อ่านจิตนาการเอาเองซึ่ง จินตนาการสำคัญกว่าความรู้ ผมจะลัดไปสร้าง Resource กันเลย

<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="superLabel" TargetType="Label">
<Setter Property="FontSize" Value="15"/>
</Style>
</ResourceDictionary>
</ContentPage.Resources>

เอ้าไหนบอกทำ FontSize ทำใมมาทำทั้ง Style เลยอ่ะ

ใช่คับผมอยากสอนให้ทำ Style เพราะมันใส่ได้แทบทุกอย่างของ Label ดังเช่น FontFamily TextColor หรือจะเป็น FontAttributes อื่นๆอีกมากมาย สบายจะตายคับในอนาคตเพิ่มลดได้สุดยอด ทีนี้ก็เรียกใช้ Resource กันคับ เรียกแบบนี้นะ

<Label Text="Status" Style="{StaticResource superLabel}"/>

หน้าตาจะเป็นแบบนี้

นั่นแหละคับ จินตนาการต่อว่ามันเป็นแสนอันนะ สุดยอดไปเลย

อ่าวถ้าสมติเราอยากเพิ่มให้ทุกอันเป็น Bold หล่ะ ใช่คับมันทำได้ โดยการเพิ่ง Setter เข้าไปใจ Style อันเก่าเราจะได้แบบนี้

ทีนี้ทุก Label ก็จะเป็น Bold !!!

จบคับ

ref: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/resource-dictionaries

--

--