Silverlight - กล่องรายการ

Listbox คือตัวควบคุมที่จัดเตรียมลิสต์รายการให้กับผู้ใช้สำหรับการเลือกไอเท็ม ผู้ใช้สามารถเลือกอย่างน้อยหนึ่งรายการจากรายการที่กำหนดไว้ล่วงหน้าทีละรายการ ในListBoxผู้ใช้สามารถมองเห็นตัวเลือกต่างๆได้ตลอดเวลาโดยไม่มีการโต้ตอบกับผู้ใช้

Listbox แสดงรายการที่เลื่อนได้ หากผู้ใช้เลือกรายการรายการที่เลือกจะเปลี่ยนลักษณะเพื่อระบุการเลือก สนับสนุนรูปแบบเนื้อหาและปุ่มที่ครอบคลุมมากขึ้น ความแตกต่างที่สำคัญระหว่างปุ่มและกล่องรายการคือปุ่มมีเนื้อหาชิ้นเดียวในขณะที่กล่องรายการอนุญาตให้ทุกรายการในรายการ

การสืบทอดตามลำดับชั้นของคลาส ListBox มีดังนี้ -

ด้านล่างนี้เป็นวิธีที่ใช้กันทั่วไป Properties ของ ListBox ชั้นเรียน

เลขที่ คุณสมบัติและคำอธิบาย
1

Background

รับหรือตั้งค่าแปรงที่ให้พื้นหลังของตัวควบคุม (สืบทอดมาจากการควบคุม)

2

BorderThickness

รับหรือตั้งค่าความหนาของเส้นขอบของตัวควบคุม (สืบทอดมาจากการควบคุม)

3

FontFamily

รับหรือตั้งค่าแบบอักษรที่ใช้เพื่อแสดงข้อความในตัวควบคุม (สืบทอดมาจากการควบคุม)

4

FontSize

รับหรือกำหนดขนาดของข้อความในตัวควบคุมนี้ (สืบทอดมาจากการควบคุม)

5

FontStyle

รับหรือตั้งค่ารูปแบบในการแสดงผลข้อความ (สืบทอดมาจากการควบคุม)

6

FontWeight

รับหรือกำหนดความหนาของแบบอักษรที่ระบุ (สืบทอดมาจากการควบคุม)

7

Foreground

รับหรือตั้งค่าแปรงที่อธิบายสีพื้นหน้า (สืบทอดมาจากการควบคุม)

8

GroupStyle

รับคอลเล็กชันของอ็อบเจ็กต์ GroupStyle ที่กำหนดลักษณะที่ปรากฏของแต่ละระดับของกลุ่ม (สืบทอดมาจาก ItemsControl)

9

Height

รับหรือตั้งค่าความสูงที่แนะนำของ FrameworkElement (สืบทอดจาก FrameworkElement)

10

HorizontalAlignment

รับหรือตั้งค่าลักษณะการจัดแนวแนวนอนที่ใช้กับ FrameworkElement เมื่อประกอบในพาเรนต์เค้าโครงเช่นแผงควบคุมหรือรายการ (สืบทอดจาก FrameworkElement)

11

IsEnabled

รับหรือตั้งค่าที่ระบุว่าผู้ใช้สามารถโต้ตอบกับตัวควบคุมได้หรือไม่ (สืบทอดมาจากการควบคุม)

12

Item

รับคอลเล็กชันที่ใช้เพื่อสร้างเนื้อหาของตัวควบคุม (สืบทอดมาจาก ItemsControl)

13

ItemsSource

รับหรือตั้งค่าแหล่งออบเจ็กต์ที่ใช้ในการสร้างเนื้อหาของ ItemsControl (สืบทอดมาจาก ItemsControl)

14

Margin

รับหรือกำหนดระยะขอบด้านนอกของ FrameworkElement (สืบทอดจาก FrameworkElement)

15

Name

รับหรือตั้งชื่อระบุของวัตถุ เมื่อตัวประมวลผล XAML สร้างโครงสร้างวัตถุจากมาร์กอัป XAML โค้ดรันไทม์สามารถอ้างถึงอ็อบเจ็กต์ที่ประกาศ XAML โดยใช้ชื่อนี้ (สืบทอดจาก FrameworkElement)

16

Opacity

รับหรือกำหนดระดับความทึบของวัตถุ (รับมาจาก UIElement)

17

SelectedIndex

รับหรือตั้งค่าดัชนีของรายการที่เลือก (สืบทอดจาก Selector)

18

SelectedItem

รับหรือตั้งค่ารายการที่เลือก (สืบทอดจาก Selector)

19

SelectedValue

รับหรือตั้งค่าของรายการที่เลือกซึ่งได้รับโดยใช้ SelectedValuePath (สืบทอดจาก Selector)

20

Style

รับหรือตั้งค่าสไตล์อินสแตนซ์ที่ใช้กับออบเจ็กต์นี้ระหว่างการจัดวางและการแสดงผล (สืบทอดจาก FrameworkElement)

21

VerticalAlignment

รับหรือตั้งค่าลักษณะการจัดแนวตามแนวตั้งที่ใช้กับ FrameworkElement เมื่อประกอบในออบเจ็กต์หลักเช่นแผงควบคุมหรือรายการ (สืบทอดจาก FrameworkElement)

22

Width

รับหรือกำหนดความกว้างของ FrameworkElement (สืบทอดจาก FrameworkElement)

ด้านล่างนี้เป็นคำที่ใช้บ่อยที่สุด Events ของ ListBox.

เลขที่ เหตุการณ์และคำอธิบาย
1

DragEnter

เกิดขึ้นเมื่อระบบอินพุตรายงานเหตุการณ์ลากพื้นฐานโดยมีองค์ประกอบนี้เป็นเป้าหมาย (รับมาจาก UIElement)

2

DragLeave

เกิดขึ้นเมื่อระบบอินพุตรายงานเหตุการณ์ลากพื้นฐานที่มีองค์ประกอบนี้เป็นต้นกำเนิด (รับมาจาก UIElement)

3

DragOver

เกิดขึ้นเมื่อระบบอินพุตรายงานเหตุการณ์ลากที่อยู่ภายใต้องค์ประกอบนี้เป็นเป้าหมายการดร็อปที่เป็นไปได้ (รับมาจาก UIElement)

4

DragStarting

เกิดขึ้นเมื่อเริ่มดำเนินการลาก (รับมาจาก UIElement)

5

Drop

เกิดขึ้นเมื่อระบบอินพุตรายงานเหตุการณ์การดร็อปที่อยู่ภายใต้องค์ประกอบนี้เป็นเป้าหมายการดร็อป (รับมาจาก UIElement)

6

DropCompleted

เกิดขึ้นเมื่อการดำเนินการลากและวางสิ้นสุดลง (รับมาจาก UIElement)

7

GotFocus

เกิดขึ้นเมื่อ UIElement ได้รับโฟกัส (รับมาจาก UIElement)

8

IsEnabledChanged

เกิดขึ้นเมื่อคุณสมบัติ IsEnabled เปลี่ยนแปลง (สืบทอดมาจากการควบคุม)

9

KeyDown

เกิดขึ้นเมื่อกดแป้นคีย์บอร์ดในขณะที่ UIElement มีโฟกัส (รับมาจาก UIElement)

10

KeyUp

เกิดขึ้นเมื่อปล่อยปุ่มคีย์บอร์ดในขณะที่ UIElement มีโฟกัส (รับมาจาก UIElement)

11

LostFocus

เกิดขึ้นเมื่อ UIElement สูญเสียโฟกัส (รับมาจาก UIElement)

12

SelectionChanged

เกิดขึ้นเมื่อรายการที่เลือกในปัจจุบันเปลี่ยนไป (สืบทอดจาก Selector)

13

SizeChanged

เกิดขึ้นเมื่อคุณสมบัติ ActualHeight หรือ ActualWidth เปลี่ยนค่าบน FrameworkElement (สืบทอดจาก FrameworkElement)

ด้านล่างนี้เป็นคำที่ใช้บ่อยที่สุด Methods ของ ListBox.

เลขที่ วิธีการและคำอธิบาย
1

Arrange

วางตำแหน่งออบเจ็กต์ลูกและกำหนดขนาดสำหรับ UIElement อ็อบเจ็กต์พาเรนต์ที่ใช้เลย์เอาต์แบบกำหนดเองสำหรับอิลิเมนต์ลูกของพวกเขาควรเรียกเมธอดนี้จากการใช้งานการแทนที่โครงร่างเพื่อสร้างการอัพเดตโครงร่างแบบเรียกซ้ำ (รับมาจาก UIElement)

2

FindName

ดึงอ็อบเจ็กต์ที่มีชื่อตัวระบุที่ระบุ (สืบทอดจาก FrameworkElement)

3

Focus

ความพยายามในการตั้งโฟกัสบนตัวควบคุม (สืบทอดมาจากการควบคุม)

4

GetValue

ส่งกลับค่าที่มีประสิทธิภาพปัจจุบันของคุณสมบัติการอ้างอิงจาก DependencyObject (สืบทอดจาก DependencyObject)

5

IndexFromContainer

ส่งกลับดัชนีเป็นรายการที่มีคอนเทนเนอร์ที่สร้างขึ้นที่ระบุ (สืบทอดมาจาก ItemsControl)

6

OnDragEnter

เรียกก่อนเหตุการณ์ DragEnter จะเกิดขึ้น (สืบทอดมาจากการควบคุม)

7

OnDragLeave

เรียกก่อนเหตุการณ์ DragLeave จะเกิดขึ้น (สืบทอดมาจากการควบคุม)

8

OnDragOver

เรียกก่อนเหตุการณ์ DragOver จะเกิดขึ้น (สืบทอดมาจากการควบคุม)

9

OnDrop

เรียกว่าก่อนที่เหตุการณ์ Drop จะเกิดขึ้น (สืบทอดมาจากการควบคุม)

10

OnKeyDown

เรียกว่าก่อนเหตุการณ์ KeyDown จะเกิดขึ้น (สืบทอดมาจากการควบคุม)

11

OnKeyUp

เรียกก่อนเหตุการณ์ KeyUp จะเกิดขึ้น (สืบทอดมาจากการควบคุม)

12

OnLostFocus

เรียกว่าก่อนเหตุการณ์ LostFocus จะเกิดขึ้น (สืบทอดมาจากการควบคุม)

13

ReadLocalValue

ส่งคืนค่าท้องถิ่นของคุณสมบัติการอ้างอิงหากตั้งค่าท้องถิ่น (สืบทอดจาก DependencyObject)

14

SetBinding

แนบการผูกกับ FrameworkElement โดยใช้อ็อบเจ็กต์การผูกที่จัดเตรียมไว้ (สืบทอดจาก FrameworkElement)

15

SetValue

ตั้งค่าโลคัลของคุณสมบัติการอ้างอิงบน DependencyObject (สืบทอดจาก DependencyObject)

ให้เราดูตัวอย่างง่ายๆที่มีการเพิ่มองค์ประกอบ UI ต่างๆในไฟล์ ListBox.

<UserControl x:Class = "ListBoxExample.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"  
   mc:Ignorable = "d" d:DesignWidth = "640" d:DesignHeight = "480"> 
   
   <Grid x:Name = "LayoutRoot">
	
      <ListBox x:Name = "myList">
		
         <TextBlock Text = "First item" /> 
         <Button Content = "Second item" /> 
         <Path Fill = "Blue" Data = "M4,0 l-4,10 8,0z M15,0 l-4,10 8,0z M26,0 l4,10 8,0z" 
            Margin = "10" /> 
			
         <StackPanel Orientation = "Horizontal"> 
            <Ellipse Fill = "Red" Height = "30" Width = "100" /> 
            <TextBlock Text = "Name: " /> 
            <TextBox Width = "200" /> 
         </StackPanel>
			
         <TextBlock Text = "More..." /> 
			
      </ListBox> 
		
   </Grid>
	
</UserControl>

ด้านล่างคือการใช้งาน C #

using System.Windows.Controls; 
 
namespace ListBoxExample { 

   public partial class MainPage : UserControl { 
	
      public MainPage() { 
         InitializeComponent();  
			
         myList.Items.Add("String entry"); 
         myList.Items.Add(new Button { Content = "Content entry" });  
      } 
   } 
}

เมื่อรวบรวมและเรียกใช้โค้ดด้านบนคุณจะเห็นกล่องรายการที่มีข้อความกราฟิกผสมกันและยังมีฟิลด์ที่แก้ไขได้ซึ่งคุณสามารถพิมพ์ข้อความได้

เลขที่ การควบคุมและคำอธิบาย
1 ปฏิทินและวันที่

Calendar & DatePicker แสดงถึงการควบคุมที่ช่วยให้ผู้ใช้สามารถเลือกวันที่โดยใช้การแสดงปฏิทินแบบภาพ มีการนำทางพื้นฐานโดยใช้เมาส์หรือแป้นพิมพ์

2 TabControl

คอนเทนเนอร์ที่วางรายการลงในแท็บแยกกันและอนุญาตให้ผู้ใช้ดูทีละแท็บ ช่วยให้ผู้ใช้สามารถเลือกจากมุมมองต่างๆได้โดยคลิกที่ส่วนหัวของแท็บ

3 ป๊อปอัพ

คลาสนี้แสดงเนื้อหาที่ด้านบนของเนื้อหาที่มีอยู่ภายในขอบเขตของหน้าต่างแอ็พพลิเคชัน เป็นการแสดงเนื้อหาอื่นชั่วคราว

4 เคล็ดลับเครื่องมือ

คำแนะนำเครื่องมือแสดงถึงตัวควบคุมที่สร้างหน้าต่างป๊อปอัปที่แสดงข้อมูลสำหรับองค์ประกอบใน GUI Silverlight ช่วยให้คุณสามารถแนบคำแนะนำเครื่องมือกับการควบคุมใด ๆ