290 likes | 598 Views
PC35. Silverlight Control Roadmap. Shawn Burke Product Unit Manager Microsoft Corporation. Introduction. Introducing the Controls Team How we ship code PDC Controls Controls from WPF New Controls Styling support Future Plans MIX Controls WPF work. Focusing on Controls.
E N D
PC35 Silverlight Control Roadmap Shawn Burke Product Unit Manager Microsoft Corporation
Introduction • Introducing the Controls Team • How we ship code • PDC Controls • Controls from WPF • New Controls • Styling support • Future Plans • MIX Controls • WPF work
Focusing on Controls • Controls Team dedicated to driving controls on WPF and Silverlight • Will deliver a “Silverlight Toolkit” and “WPF Toolkit” • Goal is to ship controls frequently, out of band from major releases • Ship with source, unit tests, and samples • Best/most used controls will be delivered into platform
Delivery Model CodePlex Project Iterative releases (6-8w) • Customer Feedback Driven • May include new components • “No-brainer” upgrade New Controls Component “Quality Bands” Experimental Preview Stable Mature • “Mature” band controls delivered with SDK/Tools • Customers can replace with CodePlex release for full control package Core Runtime SDK/Tools Release Some controls may move to core runtime
demo Silverlight Toolkit Walkthrough
WPF Partity Controls • DockPanel • WrapPanel • TreeView • Expander • Label • ViewBox • HeaderedContentControl • HeaderedItemsControl
DockPanel • DockPanel docks children to a particular side via an attached property • IsLastChildFill property sets last child to fill remaining space Left Top Right
Using DockPanel • <controls:DockPanelLastChildFill=“False” > • <Bordercontrols:DockPanel.Dock="Left“ Background="Yellow" Width="100"/> • <Bordercontrols:DockPanel.Dock="Top“ Background="Green" Height="100"/> • <Bordercontrols:DockPanel.Dock="Right" Background="Purple" Width="100"/> • </controls:DockPanel> As Above: Reverse Order:
Expander • Expander allows the expand/collapse of content in one of four directions • Has Header and Content area
Using Expander • <controls:ExpanderExpandDirection="Down" Header="Tasks"> • <Border Width="100" Background="#BFFFFFFF" • BorderBrush="#FF000000"CornerRadius="3,3,3,3"BorderThickness="1,1,1,1"> • <StackPanel> • <HyperlinkButton Content="Do this" FontSize="14"/> • <HyperlinkButton Content="Do that"FontSize="14"/> • <HyperlinkButton Content="Do it all" FontSize="14"/> • </StackPanel> • </Border> • </controls:Expander>
TreeView • TreeView allows a nested hierarchy of templatable nodes • Each node is a HeaderedItemsControl
Using TreeView • <controls:TreeViewSelectedValuePath="Classification”> • <controls:TreeView.ItemTemplate> • <controls:HierarchicalDataTemplate • ItemsSource="{Binding Subclasses}"> • <StackPanel> • <TextBlockText="{Binding Rank}" Foreground="Gray" Margin="0 0 0 -5" /> • <TextBlock Text="{Binding Classification}" /> • </StackPanel> • </controls:HierarchicalDataTemplate> • </controls:TreeView.ItemTemplate> • </controls:TreeView>
New Silverlight Controls • New controls for Silverlight at PDC: • AutoComplete • Charting • NumericUpDown • These controls will be made available on WPF • WPF versions will take advantage of WPF capabilities where appropriate
AutoComplete Standard AutoComplete ItemsSource set to a list of strings IsTextSearchEnabled is set to true Very customizable Can use an adapter to put anything inside the drop down – including a DataGrid Above: an AutoComplete ComboBox control (custom template) Easy to style with data templates ItemsSource is a set of Photograph objects Custom DataTemplate
Using AutoComplete • <controls:AutoComplete • MinWidth="300" • MinimumPrefixLength="1" • MinimumPopulateDelay="0" • ItemsSource="{StaticResourceMonthsObjectCollection}"/>
Charting • Supports Line, Pie, Column, Scatter charts • Heavy focus on architecture allows easily adding more chart types • Chart types are extensible, templatable
Using Charts • <controls:ObjectCollection x:Key=“AssetValues"> • <local:Assets Type="Stocks" Value="10000“/> • <local:Assets Type="Bonds" Value="2124“/> • <local:Assets Type="Cash" Value="22000“/> • </controls:ObjectCollection> • <charting:Chart> • <charting:Chart.Series> • <charting:ColumnSeries • ItemsSource="{StaticResourceBasicValues}" • DependentValueBinding="{Binding Value}" • IndependentValueBinding="{Binding Type}" Title="Portfolio“> • </charting:ColumnSeries> • </charting:Chart.Series> • </charting:Chart> • <charting:Chart><charting:Chart.Series> • <charting:PieSeriesItemsSource="{StaticResourceBasicValues}“ • DependentValueBinding="{Binding Value}" • IndependentValueBinding="{Binding Type}" Title="Portfolio“> • </charting:PieSeries> • </charting:Chart.Series></charting:Chart>
demo Controls in Action
Styling Support • Challenge: make it easy to theme an application in Silverlight • Silverlight doesn’t currently support WPF’s ‘implicit styling’ functionality • New pack of 6 themes work with ISM to easily theme your application Before: After:
Applying Themes • <UserControl • xmlns:barberred="clr-namespace:Microsoft.Windows.Controls; • assembly=Microsoft.Windows.Controls.Theming.BarberRed“/> • <barberred:BarberRedTheme> • <StackPanelGrid.Row="0" Orientation="Horizontal"> • <CheckBox Content="CheckBox"/> • <Button Content="Button" Height="22" Width="43"/> • <ComboBox Height="22" • ItemsSource="{StaticResource stuff}“/> • <RadioButton Content="RadioButton"/> • </StackPanel> • < … /> • </barberred:BarberRedTheme> • </UserControl>
demo Styling
Updating the Silverlight Toolkit • Already working on update release • Fix major issues • Add new components that didn’t make it into PDC • Accordion • ListView • Charting improvements • Designer (Blend, VS) experience improvements • Integtration of SDK controls • Tab • GridSplitter • Calendar • DatePicker
Proposed Controls – MIX09 • Below is our current thinking – not set in stone at this point • MIX Timeframe • MediaPlayer • TimePicker • Carousel • Rating • MaskedTextBox
Proposed Controls – Future • InPlaceEditing • AppointmentCalendar • ImageMap • FileUpload • Menu • Slideshow
WPF Plans • Charting, AutoCompleteBox on WPF • Aligning work with WPF team on Ribbon, DataGrid, DatePicker • Themes for WPF • Committed to delivering value on WPF and Silverlight
Evals & Recordings Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com
Q&A Please use the microphones provided
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.