The document provides an introduction to Silverlight and its use for developing Windows Phone applications. It discusses the Metro design style, key Silverlight components like grids and buttons, and how to create a basic Silverlight application. It then demonstrates building a simple adding machine application in Silverlight to perform basic math operations and handle user input and button clicks. The document also covers best practices like orienting the application for both portrait and landscape modes and using the application bar for common tasks.
Demo Project:
• Complex Calculator
What will you learn?
• Adding single event handlers for Multiple Buttons
• Identifying from which button handler is called.
• Using flag variable to write smart code.
Demo Project:
• Complex Calculator
What will you learn?
• Adding single event handlers for Multiple Buttons
• Identifying from which button handler is called.
• Using flag variable to write smart code.
All hotels now use computers extensively and staff must learn to work on the installed PMS. If your hotel has PMS installed, this document will assist you to work faster and more accurately.
Windows Presentation Foundation (WPF) allows developers to easily build and create visually enriched UI based applications. The classical UI elements or controls in other UI frameworks are also enhanced in WPF applications.
Software engineering modeling lab lectures
engineering+ education purpose
This series of lectures was prepared for the third class of software engineering / Aliraqia University/ Baghdad/ Iraq.
In prepared these lectures, I depend on the YouTube to make it, the programs of the lectures are designed and executed by vb.net, discussions are also found here
These lectures are not finished yet, i will improve it in the future
Forgive me for anything wrong by mistake, I wish you can profit from these lectures
My regard
Marwa Moutaz/ M.Sc. studies of Communication Engineering / University of Technology/ Bagdad / Iraq.
The VB6 IDE (Integrated Development Environment) is a very simple and fully featured IDE. If you start out programming in VB6 you may end up being too spoiled to ever appreciate a more complicated and less functional IDE like most C++ IDEs. One feature which sets VB6 apart from various IDEs is the simplicity of its approach to GUI (Graphical User Interface) design.
As a general rule: Play with it. You're very unlikely to break anything that matters, so just explore and experiment with the IDE, and you'll learn more.
Designing XAML apps using Blend for Visual Studio 2013Fons Sonnemans
In deze sessie laat ik aan de hand van vele demos zien hoe je Windows Phone en Windows 8.1 apps ontwikkeld met behulp van Blend for Visual Studio 2013.
All hotels now use computers extensively and staff must learn to work on the installed PMS. If your hotel has PMS installed, this document will assist you to work faster and more accurately.
Windows Presentation Foundation (WPF) allows developers to easily build and create visually enriched UI based applications. The classical UI elements or controls in other UI frameworks are also enhanced in WPF applications.
Software engineering modeling lab lectures
engineering+ education purpose
This series of lectures was prepared for the third class of software engineering / Aliraqia University/ Baghdad/ Iraq.
In prepared these lectures, I depend on the YouTube to make it, the programs of the lectures are designed and executed by vb.net, discussions are also found here
These lectures are not finished yet, i will improve it in the future
Forgive me for anything wrong by mistake, I wish you can profit from these lectures
My regard
Marwa Moutaz/ M.Sc. studies of Communication Engineering / University of Technology/ Bagdad / Iraq.
The VB6 IDE (Integrated Development Environment) is a very simple and fully featured IDE. If you start out programming in VB6 you may end up being too spoiled to ever appreciate a more complicated and less functional IDE like most C++ IDEs. One feature which sets VB6 apart from various IDEs is the simplicity of its approach to GUI (Graphical User Interface) design.
As a general rule: Play with it. You're very unlikely to break anything that matters, so just explore and experiment with the IDE, and you'll learn more.
Designing XAML apps using Blend for Visual Studio 2013Fons Sonnemans
In deze sessie laat ik aan de hand van vele demos zien hoe je Windows Phone en Windows 8.1 apps ontwikkeld met behulp van Blend for Visual Studio 2013.
Presented at SCREENS 2013 in Toronto.
Details at fitc.ca/screens
with Peter Newhook
These aren’t your daddy’s Windows apps! Windows 8 Store apps are a significant departure from the traditional development model on Windows. At first glance the differences are obvious: full screen, flat UI, touch-centric navigation. But there’s more available to Windows 8 developers to deeply integrate with the platform. This session will highlight features that let a Windows 8 app a deeply integrate with the system. Topics will include, app bars, share and search contracts, semantic zoom, live tiles and changes to the Windows 8.1 snap view.
The Windows Azure Platform (MSDN Events Series)Dave Bost
This presentation was delivered as part of the MSDN Events series of technical seminars and provides a deep dive into cloud computing and the Windows Azure Platform. It starts with a developer-focused overview of the Windows Azure Platform and the cloud computing services that can be used either together or independently to build highly scalable applications. From there, the discussion explores data storage, SQL Azure, and the basics of deployment with Windows Azure.
Internet Explorer 8 Developer Overview was presented at a series of MSDN Unleashed events hosted by the Microsoft Central Region Evangelism team from April 28 - June 12, 2009. You can find more information at http://msdnevents.com/unleashed.
Windows 7 Developer Overview was presented at a series of MSDN Unleashed events hosted by the Microsoft Central Region Evangelism team from April 28 - June 12, 2009. You can find more information at http://msdnevents.com/unleashed.
This is from a session I gave at the Indy TechFest on Oct. 4, 2008. This session was a discussion and tour of CodePlex.com, an open source project hosting site built on top of Team Foundation Server. Thank you to Sara Ford for providing guidance and help with the slide deck, http://blogs.msdn.com/codeplex/archive/2008/09/22/codeplex-session-at-remix08-in-brighton-england.aspx
WPF Applications, It's all about XAML these daysDave Bost
This is a session I delivered at Indy TechFest '08 on Oct. 4, 2008. It serves as an introduction to building Windows Presentation Foundation applications using Visual Studio 2008 and Expression Blend.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
4. Windows Phone and Metro
To make life easier for us the Metro
style is “baked in” to the Windows
developer tools
The default appearance, behaviour
and fonts of the user elements all
match the style
If you want to find out more about
Metro on phone you can read the
“User Experience Design
Guidelines”
http://msdn.microsoft.com
4 Windows Phone
5. Tools for the job : Graphical
Design separates the
Great design
graphical design aspects from
the programming
The designer works on the
look and feel of the
application
The programmer
implements the required
behaviours
Silverlight is designed to support
this
A Silverlight designer can use
the “Expression Blend” to specify
the appearance of the user
5 interface
Windows Phone 5
6. Metro Templates and
Components
Visual Studio
provides a set
of Metro
project
templates
Each of them
maps onto a
particular style
of application
6 Windows Phone 6
7. Application Types and Templates
The three application types provide quite different user experiences
Select the one that you feel is the most appropriate
7 Windows Phone 7
8. Silverlight display elements
Application title
Page title
First number
Plus text
Second number
Equals button
Result text
8 Windows Phone 8
9. Silverlight element class hierarchy
FrameworkElement
The Silverlight class hierarchy is quite
complex
TextBlock Control
Everything is based on the
FrameworkElement class which
contains the fundamental properties
TextBox ContentControl
of all elements
You can derive your own
components if you wish ButtonBase
Button
9 Windows Phone 9
10. Elements in AddingMachine
The adding machine actually contains three different types of Silverlight
display element
TextBox
Used to receive user input from the keyboard
TextBlock
Used to display messages to the user
Button
Used to cause events in the application
1 Windows Phone 10
0
11. Elements and XAML
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox Height="72" HorizontalAlignment="Left"
Margin="8,19,0,0" Name="firstNumberTextBox"
Text="0" VerticalAlignment="Top" Width="460"
TextAlignment="Center" />
. . .
<Button Content="equals" Height="72"
HorizontalAlignment="Left"
Margin="158,275,0,0" Name="equalsButton"
VerticalAlignment="Top" Width="160"
Click="equalsButton_Click" />
. . .
</Grid>
XAML is the markup language that describes the Silverlight UI
components
1 Windows Phone 11
1
12. Grid container element
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox Height="72" HorizontalAlignment="Left"
Margin="8,19,0,0" Name="firstNumberTextBox"
Text="0" VerticalAlignment="Top" Width="460"
TextAlignment="Center" />
. . .
<Button Content="equals" Height="72"
HorizontalAlignment="Left"
Margin="158,275,0,0" Name="equalsButton"
VerticalAlignment="Top" Width="160"
Click="equalsButton_Click" />
. . .
</Grid>
Grid is a container into which you can position display elements
1 Windows Phone 12
2
13. TextBox element
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox Height="72" HorizontalAlignment="Left"
Margin="8,19,0,0" Name="firstNumberTextBox"
Text="0" VerticalAlignment="Top" Width="460"
TextAlignment="Center" />
. . .
<Button Content="equals" Height="72"
HorizontalAlignment="Left"
Margin="158,275,0,0" Name="equalsButton"
VerticalAlignment="Top" Width="160"
Click="equalsButton_Click" />
. . .
</Grid>
TextBox is used for text entry
TextBlock can be used for text display
1 Windows Phone 13
3
14. Button element
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox Height="72" HorizontalAlignment="Left"
Margin="8,19,0,0" Name="firstNumberTextBox"
Text="0" VerticalAlignment="Top" Width="460"
TextAlignment="Center" />
. . .
<Button Content="equals" Height="72"
HorizontalAlignment="Left"
Margin="158,275,0,0" Name="equalsButton"
VerticalAlignment="Top" Width="160"
Click="equalsButton_Click" />
. . .
</Grid>
Button is used for user actions and generates events when activated
1 Windows Phone 14
4
15. Button element
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox Height="72" HorizontalAlignment="Left"
Margin="8,19,0,0" Name="firstNumberTextBox"
Text="0" VerticalAlignment="Top" Width="460"
TextAlignment="Center" />
. . .
<Button Content="equals" Height="72"
HorizontalAlignment="Left"
Margin="158,275,0,0" Name="equalsButton"
VerticalAlignment="Top" Width="160"
Click="equalsButton_Click" />
. . .
</Grid>
Click is the button clicked event which is bound to the method
specified
1 Windows Phone 15
5
16. Button click event handler
private void equalsButton_Click(object sender, RoutedEventArgs e)
{
float v1 = float.Parse(firstNumberTextBox.Text);
float v2 = float.Parse(secondNumberTextBox.Text);
float result = v1 + v2;
resultTextBlock.Text = result.ToString();
}
The event hander for the button takes the values out of the textboxes,
parses them and then calculates and displays the result
1 Windows Phone 16
6
18. Best Practice: Keyboard use
It is best if the user can still press
the equals button when the
keyboard is displayed
This means the equals button
should be moved up the screen
1 Windows Phone 18
8
19. Selecting Orientations
SupportedOrientations="Portrait"
SupportedOrientations="PortraitOrLandscape"
A XAML property for the phone application page lets you select the
orientation options available
Your application can bind to an event which is fired when the orientation
changes
1 Windows Phone 19
9
20. Using a StackPanel
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<TextBox Height="72" HorizontalAlignment="Center" .../>
<TextBlock Height="56" HorizontalAlignment="Center" .../>
<TextBox Height="72" HorizontalAlignment="Center" .../>
<Button Content="equals" Height="72" ...>
<TextBlock Height="46" HorizontalAlignment="Center" .../>
</StackPanel>
</Grid>
To automatically handle orientation change we can use a StackPanel
container that will stack the display components
2 Windows Phone 20
0
22. Handling errors
try
{
v1 = float.Parse(firstNumberTextBox.Text);
v2 = float.Parse(secondNumberTextBox.Text);
}
catch
{
MessageBox.Show("Invalid number");
return;
}
A program can catch errors as on the desktop
There is also a MessageBox mechanism as well
2 Windows Phone 22
2
23. Configuring the input scope
<TextBox InputScope="Number" ...
If all you want from the user is a number it is
dangerous to allow them to enter text as well
You can add to the XAML to specify that the
keyboard only accepts numbers
2 Windows Phone 23
3
26. Application Chrome
System Tray and Application Bar
System Tray
System owned indicator area that
displays system-level status information
Apps can show/hide
Microsoft.Phone.Shell.SystemTray.IsVisib
le = false;
Application Bar
Area where applications can display
buttons for the most common tasks
Can display pop-up menu for less
common tasks
2 Windows Phone 26
6
31. Frame and Page
Frame
Top-level container control
PhoneApplicationFrame class
Contains the page control and
system elements such as
system tray and application bar
Page
Fills the entire content region of
the frame
PhoneApplicationPage-derived
class
Contains a title
Optionally surfaces its own
application bar
3 Windows Phone
1
32. Page Navigation
Silverlight on Windows Phone uses
a Page-based navigation model
Similar to web page model
Each page identified by a URI
Each page is essentially stateless
private void hyperlinkButton1_Click(
object sender, RoutedEventArgs e)
{
NavigationService.Navigate(
new Uri("/SecondPage.xaml",
UriKind.RelativeOrAbsolute)
);
}
3 Windows Phone
2
33. Navigating Back
Application can provide controls to
navigate
back to preceding page
private void button1_Click(
object sender, RoutedEventArgs e)
{
NavigationService.GoBack();
}
The hardware Back key will also
navigate back to preceding page
No code required – built-in behaviour
3 Windows Phone
3
35. Review
Windows Phone applications use Silverlight to express the design of
their user interface
The design is expressed in a XAML text file that identifies and
configures display elements
Elements can also be manipulated as code objects
There are a set of Silverlight templates for applications and elements
based on the Metro design
You can create multiple Silverlight pages and add them to your project
Navigation to pages is performed on the basis of uri (Uniform Resource
Indicator) values
The back button normally navigates back to the source page, but this
can be overridden
3
The uri can contain simple text messages
Windows Phone 35
5
Pages can share larger objects in the App.xaml page
37. Silverlight Toolkit for Windows
Phone the Microsoft Silverlight team
A product of
The Silverlight Toolkit adds tons of additional controls „out of band‟ from
the official product control set
Includes full open source code, samples, documentation, and design-
time support for controls
Refresh every 3 months or so
Bug fixes
New controls
http://silverlight.codeplex.com
3
7
38. NuGet
Package management system for .NET
Simplifies incorporating 3rd party libraries
Developer focused
Free, open source
Install NuGet using the Visual Studio Extension
Manager
Use NuGet to add libraries such as the
Silverlight Toolkit to your project
3 Windows Phone
8