תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- windows 8.1 ...

17
ייייי ייייייייי, יייייי יייייי ייייייייי- יWindows 8.1 יייייייייי- יWindows Phone 8 Control (Part II)

Upload: creola

Post on 08-Feb-2016

42 views

Category:

Documents


0 download

DESCRIPTION

תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1 ואפליקציות ל- Windows Phone 8. Control (Part II). Controls (Part II). ListView Control TreeView. ListView Control. פקד נפוץ להצגת אוספים של מידע. פקד מורכב עם אין סוף אפשרויות להתאמה אישית. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

, אסינכרוני תכנותופיתוח תקשורת

אפליקציות Windows 8.1ל-

ואפליקציות Windows Phoneל-8

Control (Part II)

Page 2: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

Controls (Part II)1. ListView Control2. TreeView

Page 3: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Control.1. מידע של אוספים להצגת נפוץ פקד.2. אישית להתאמה אפשרויות סוף אין עם מורכב פקדשל 3. אוסף מכיל הפקד והבסיסית הפשוטה .ListViewItemsבצורתו.4ListViewItem את .ContentControlיורשהמחלקה 5. את :ListBoxיורש הבדל כל נראה לא והבסיסית הפשוטה בצורתו ולכן

<ListView Margin="10" FontSize="20"> <ListViewItem IsSelected="True">First Item</ListViewItem> <ListViewItem>Second Item</ListViewItem> <ListViewItem>Third Item</ListViewItem> <ListViewItem>Fourth Item</ListViewItem> <ListViewItem>Fifth Item</ListViewItem> <ListViewItem>Sixth Item</ListViewItem> <ListViewItem>Fifth Item</ListViewItem> <ListViewItem>Seventh Item</ListViewItem></ListView>

: קוד ListViewSimpleSampleדוגמת

Page 4: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Controlמהכיסא אתכם להפיל אמורה לא כבר יותר המורכבת ביכולת השימוש גם

(ControlContent)? אמרנו כבר<ListView Name="lstColors" Margin="5" Width="200" FontSize="20"> <ListViewItem> <StackPanel Orientation="Horizontal"> <Image Source="Assets/Red.png" /> <TextBlock Text="Red"/> </StackPanel> </ListViewItem> <ListViewItem> <StackPanel Orientation="Horizontal"> <Image Source="Assets/Blue.png" /> <TextBlock Text="Blue"/> </StackPanel> </ListViewItem> . . .</ListView>

: קוד ListViewSimpleSampleדוגמת

Page 5: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Controlפקד, ContentControlאפרופו 1. להגדיר .ItemTemplateעם ListViewניתן.2 , תוכן בה ולמלא שורה של תבנית להגדיר ניתן בנפרד שורה כל להגדיר במקום

:DataBindingבאמצעות <ListView Name="lstView1" Margin="5" Width="250"> <ListView.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="Name: "></TextBlock> <TextBlock Text="{Binding LastName}"/> <TextBlock Text=" "></TextBlock> <TextBlock Text="{Binding FirstName}"/> <TextBlock Text=", Age: "></TextBlock> <TextBlock Text="{Binding Age}"/> </StackPanel> </DataTemplate> </ListView.ItemTemplate></ListView>

ItemTemplate

תבנית הגדרתשורה

Page 6: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Controlpublic partial class MainWindow : Window{ List<Person> person_list = new List<Person>(); public MainWindow() { InitializeComponent(); person_list.Add(new Person() { LastName = "Israeli", FirstName="Shoshana", Email="[email protected]", Age = 41 }); person_list.Add(new Person() { LastName = "Levi", FirstName = "Elimelech", Email = "[email protected]", Age = 42 }); person_list.Add(new Person() { LastName = "Moshe", FirstName = "Moshe", Email = "[email protected]", Age = 43 }); lstView1.ItemsSource = person_list; . . . } . . .}

הגדרת DataBinding

לפקד

: קוד ListViewDataBindingSampleדוגמת

Page 7: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Controlשל 1. עם ListViewהעוצמה בשילוב .GridViewמגיעה.2GridView – של טבלאית תצוגה .ListViewרכיב.3 - כ לראותו .ItemTemplateניתן <"ListView Name="lstView2" Margin="5>טבלאי

<ListView.View> <GridView> <GridViewColumn Header="Last Name" Width="120" DisplayMemberBinding="{Binding LastName}" /> <GridViewColumn Header="First Name" Width="120" DisplayMemberBinding="{Binding FirstName}" /> <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" /> </GridView> </ListView.View></ListView>

GridView

תבנית הגדרתשורה

GridViewל-

: קוד ListViewDataBindingSampleדוגמת

בקוד: lstView2.ItemsSource = person_list;

Page 8: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Control ? לשלב לא עם GridViewולמה .ContentControlיחד

<ListView Name="lstView3" Margin="5" ItemsSource="{Binding PersonList}" SelectionChanged="lstView3_SelectionChanged"> <ListView.View> <GridView> <GridViewColumn Header="Last Name" Width="120" DisplayMemberBinding="{Binding LastName}" /> <GridViewColumn Header="First Name" Width="120" DisplayMemberBinding="{Binding FirstName}" /> <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" /> <GridViewColumn Header="EMail" Width="150"> <GridViewColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Image Source="Assets/Email.png" Height="25"></Image> <TextBlock Text=" - "></TextBlock> <TextBlock Text="{Binding Email}" TextDecorations="Underline" Foreground="Blue" Cursor="Hand" /> </StackPanel> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View></ListView>

Columnהגדרת ContentControlכ-

Page 9: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView ControlGrouping. מסוים – שדה פי על רשומות מספר יחדיו לקבץ יכולת

. להתבצע אמורות הן בו התאריך פי על המשימות כל את לקבץ נרצה למשל: , מרשים ולא מבולבל קצת נראה זה קיבוץ ללא

: קוד ListViewGroupingSample01דוגמת

נקבץ ..... אז

Page 10: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Control - ה את מפשט בקיבוץ :UIהשימוש

Page 11: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Control.1 - ב גם מתבצע מסוים שדה של ערכו פי על רשומות - XAMLקיבוץ ב Codeוגם

Behind.-XAMLב- 2. ה של העיצוביים ההיבטים את GroupStyleבאמצעות Groupמגדירים

. הקבוצה כותרת של העיצוב את נגדיר שבו- DataTemplateה- 3. ב .ContentControlתומך

<ListView.GroupStyle> <GroupStyle> <GroupStyle.HeaderTemplate> <DataTemplate> <TextBlock FontWeight="Bold" FontSize="33" Text="{Binding Name}" Foreground="Green"/> </DataTemplate> </GroupStyle.HeaderTemplate> </GroupStyle></ListView.GroupStyle>

- ה של Headerהשם. הקבוצה של

Page 12: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Control- Code Behindב- 3. ה של הפונקציונאליים ההיבטים את .Groupמגדירים

public partial class MainWindow : Window{ private ObservableCollection<ToDo> m_TaskList = new ObservableCollection<ToDo>(); public MainWindow() { InitializeComponent(); ToDo todo = new ToDo { TaskName = " שיניים לרופא תור הפניה " = Description ,"לקבוע לשכוח לא

סטטוס ,"לצילום DueDate = new DateTime(2014, 01, 10), Priority = ToDoPriority.Normal }; m_TaskList.Add(todo); . . . lstTasks.ItemsSource = m_TaskList; ListCollectionView view = (ListCollectionView)CollectionViewSource.GetDefaultView(lstTasks.ItemsSource); PropertyGroupDescription groupDescription = new PropertyGroupDescription("DueDateString"); view.GroupDescriptions.Add(groupDescription); lstTasks.Items.SortDescriptions.Add(new SortDescription("DueDateString", ListSortDirection.Ascending));

}. . .}

Page 13: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView ControlListCollectionView view = (ListCollectionView)CollectionViewSource.GetDefaultView(lstTasks.ItemsSource);

: , לטובת בה משתמשים התצוגה סידור על שמשפיעה אוסף .Group, Sort, Filterמחלקת . " לתצוגה" המידע ובסידור בארגון לסייע שתפקידה לתצוגה המידע אוסף בין שמגשרת שכבה

. מוצג הוא בה לשיטה קשר ללא שהוא כמו שנשאר המידי אוסף על ולא התצוגה על רק היא שההשפעה היא חשיבותהPropertyGroupDescription groupDescription = new PropertyGroupDescription("DueDateString");

, נקרא לקיבוץ השדה את .Grouping Criteriaמגדירview.GroupDescriptions.Add(groupDescription);lstTasks.Items.SortDescriptions.Add(new SortDescription("DueDateString", ListSortDirection.Ascending));

Page 14: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

ListView Control. מסויים שדה פי על האובייקטים מיון על מתבססת הקיבוץ פעולת: הקבוצה בתוך משניים מיונים להוסיף ניתן

lstTasks.Items.SortDescriptions.Add(new SortDescription("Priority", ListSortDirection.Descending));

Page 15: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

TreeView Control.1. עץ של במבנה היררכית בצורה מידע הצגת המאפשר פקד.2. אישית להתאמה אפשרויות סוף אין עם מורכב פקדשל 3. אוסף מכיל הפקד והבסיסית הפשוטה .TreeViewItemבצורתו.4TreeViewItem את .ContentControlיורשאובייקט 5. אובייקטי TreeViewItemכל מספר להכיל .TreeViewItemיכול

Page 16: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

TreeView Control <Grid Margin="10"> <TreeView Margin="5" FontSize="20" > <TreeViewItem Header="Level 1" IsExpanded="True"> <TreeViewItem Header="Level 2.1" /> <TreeViewItem Header="Level 2.2" IsExpanded="True"> <TreeViewItem Header="Level 3.1" /> <TreeViewItem Header="Level 3.2" > <TreeViewItem Header="Level 4.1" /> <TreeViewItem Header="Level 4.2" /> <TreeViewItem Header="Level 4.3" /> <TreeViewItem Header="Level 4.4" /> </TreeViewItem> <TreeViewItem Header="Level 3.3" /> </TreeViewItem> <TreeViewItem Header="Level 2.3" /> </TreeViewItem> </TreeView></Grid>

הגדרת TreeView

הגדרת TreeViewIte

m

Parent

Child

: קוד TreeViewSample01דוגמת

Page 17: תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1  ואפליקציות ל- Windows Phone 8

: , , ב להוריד ניתן מצגות חומרים הסילבוס את. . .www corner co il