Xamarin Form มารู้จักกับ Resource Dictionaries
สวัสดีคับ วันนี้เราจะมาทำความรู้จักกับ 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