Index
Below is a list of all posts created so far for the 2,000 Things You Should Know About WPF blog.
Total number of posts = 500.
Animation
Basics
- #1 – What is WPF?
- #2 – Rendering Tiers
- #5 – Vector Graphics and Resolution Independence
- #6 – WPF Layout
- #9 – Styles
- #10 – Templates
- #11 – Commands
- #12 – Markup and Code Behind
- #13 – Benefits of Markup
- #14 – Page-Based Navigation
- #15 – WPF vs. Silverlight and ASP.NET
- #16 – Use Direct3D for Hard-Core 3D Applications
- #17 – WPF Release History
- #18 – Silverlight and WPF Differences
- #19 – The System.Windows Namespace
- #20 – Standalone and Browser-Hosted Applications
- #23 – WPF Units
- #26 – WPF Architecture
- #29 – DependencyObject
- #30 – Visual Class
- #31 – UIElement Class
- #32 – FrameworkElement
- #33 – Control Class
- #36 – Five Types of WPF Applications
- #38 – The Application Class
- #39 – The Window Class
- #40 – Application Lifetime
- #41 – Window Events at Startup and Shutdown
- #42 – WPF Application Entry Point
- #43 – What Happens in WPF Main() Function
- #44 – Application is a Singleton
- #45 – Two Ways to Create WPF Controls
- #46 – Processing Command Line Arguments in a WPF Application
- #47 – Detecting When the Windows Session Is Ending
- #48 – Handling an Application’s Exit Event
- #49 – Unhandled Exceptions
- #50 – Application-Scoped Properties
- #51 – Resources
- #52 – Defining and Using Application-Scoped Resources
- #53 – Accessing Application-Scoped Resources from Code
- #54 – An Application’s Main Window
- #55 – Application.ShutdownMode
- #63 – Three Places to Make Changes
- #64 – Visual Studio Creates XAML For You
- #108 – The Logical Tree
- #109 – Navigating the Logical Tree in Code
- #110 – An Application for Viewing a WPF Logical Tree
- #111 – The Visual Tree
- #112 – Navigating the Visual Tree in Code
- #113 – An Application for Viewing a WPF Visual Tree
- #114 – How Dependency Properties Are Implemented
- #116 – Dependency Property Values Are Stored in the DependencyObject
- #117 – Registering a Dependency Property
- #118 – Don’t Add Code to Dependency Property Getter/Setter
- #119 – Read and Write Dependency Property Values from XAML or Code
- #120 – Clearing a Dependency Property Value
- #121 – Being Notified When the Value of a Dependency Property Changes
- #122 – Validating a Dependency Property
- #123 – Coercing a Dependency Property
- #124 – One Example of WPF’s Use of Dependency Property Callbacks
- #125 – Responding to Changes in Dependency Properties for WPF Objects
- #127 – Reacting to a Dependency Property Change Using Triggers
- #129 – Properties Changed by Triggers Are Automatically Reset
- #130 – WPF Supports Three Types of Triggers
- #131 – Dependency Properties Inherit Values from Higher Up in the Logical Tree
- #132 – Inherited Property Values Pass Through All Elements
- #168 – A More Complete Class Hierarchy
- #169 – The Base Element Classes
- #170 – Functionality That The Base Element Classes Provide
- #171 – Other Base Classes – Freezable and Animatable
- #173 – You Can Put Freezable Objects Into a Read-Only State
- #175 – Freeze Graphical Objects That You Don’t Intend to Modify
- #176 – Two Kinds of Templates
- #197 – Override Application Class Methods for Standard Events
- #198 – Creating and Showing Additional Windows
- #199 – An Application’s Windows Property Lists All of Its Windows
- #200 – Parent/Child Relationships Between Windows
- #201 – Showing a Modal Dialog Using ShowDialog
- #202 – An Example of Modal/Modeless Dialogs
- #203 – Window Size and Location Are Specified in Device Independent Units
- #204 – Detecting Key Presses in a WPF Window
- #205 – The WPF GUI Pipeline
- #206 – WPF Applications Use an Event-Driven Paradigm
Blend
- #185 – Creating a WPF Application Using Blend
- #186 – When to Use Blend (vs. Visual Studio)
- #188 – Adding Controls to a Window Using Blend
- #190 – Adding an Event Handler to a Control Using Blend
- #192 – Setting a Control’s Properties Using Blend
- #193 – You Can Have a Project Open in Blend and Visual Studio at the Same Time
- #194 – Hello WPF World, Love Blend
- #287 – Adding Controls to a Window in Blend by Editing XAML
- #289 – Editing WPF Code-Behind in Blend
- #295 – Blend Provides Intellisense
- #414 – Creating a Grid in Expression Blend
- #427 – Changing Margins from Within Blend
- #428 – Setting Other Layout Properties from Within Blend
- #433 – Preservation of Margins While Editing Grid in Blend
- #434 – Canvas Layout Mode in Blend
Commands
- #342 – Binding a Button to a Command
- #343 – Associating Multiple Controls with the Same Command
- #344 – The CommandBinding CanExecute Event Determines Whether a Button is Enabled
- #345 – WPF Command Model is Preferred over Traditional Event Handler Model
- #346 – No Need to Set Header Property for MenuItem When Using Commands
- #347 – How to Set Content Property for Button Based on Command
- #348 – Predefined Command Objects, Part I
- #349 – Predefined Command Objects, Part II
Controls
- #21 – WPF Control Sampler
- #22 – Layout Controls
- #27 – Class Hierarchy
- #28 – DispatcherObject
- #34 – ContentControl
- #35 – ItemsControl
- #177 – A Content Presenter Is a Placeholder for a Content Control’s Content
- #178 – A Control Can Have Both a Control Template and A Data Template
- #179 – Panel Controls Contain UIElement Children
- #207 – Setting a Control’s Background Color
- #209 – Specifying a Color Where a Brush Is Expected in XAML
- #243 – Display Text Using a Label Control
- #244 – Use a TextBlock Element for Richer Formatting
- #245 – Easily Inline Text Formatting Codes with TextBlock Control
- #246 – Use FlowDocument Control to Host Entire Documents
- #247 – Types of Blocks that You Can Use in a FlowDocument
- #248 – Creating a List in a FlowDocument
- #249 – Creating a Table in a FlowDocument
- #250 – Including a Section Block in a FlowDocument
- #251 – Embedding an UIElement Within a FlowDocument
- #252 – FlowDocument Flows its Content Automatically
- #253 – FlowDocument is Hosted in a FlowDocumentReader Automatically
- #254 – Types of Containers for Hosting a FlowDocument
- #255 – Flow Text Around an Image in a FlowDocument
- #256 – Use a FixedDocument to Display Content at Fixed Locations
- #257 – TextBox Control Allows Basic Text Entry and Editing
- #258 – RichTextBox Allows Richer Formatting than TextBox
- #259 – Setting Typography Properties for Text Rendered with an OpenType Font
- #267 – Think Twice Before You Subclass a Control
- #269 – Automatically Sizing a Window to Fit Its Contents
- #270 – Minimum and Maximum Window Size
- #271 – Changing a Window’s Resize Behavior
- #272 – Displaying a Border Around a Window
- #273 – Display a Picture Using an Image Control
- #274 – Embed Images into Your Project as Binary Resources
- #275 – Load a Loose Image File into an Image Control
- #276 – Change Image Sizing Using the Stretch Property
- #277 – Images May Have Embedded DpiX and DpiY Information
- #278 – Allow an Image to Get Bigger, But Not Smaller (or Vice Versa)
- #279 – Adding a Border Around an Image Control
- #280 – Alignment Properties for an Image
- #281 – Give an Image Control More Room with a Margin
- #282 – The Margin Property Stores a Thickness Value
- #283 – A Window Can Have Only a Single Child Element
- #284 – Making an Image Translucent Using the Opacity Property
- #285 – Rotating an Image
- #286 – Adding Controls to a Window in Visual Studio by Editing XAML
- #296 – Controls that Derive from the Control Class
- #297 – Create a Mirror Image of a Control or Image
- #298 – Button Basics – Content and Click
- #299 – Controls Do Not Need a Name
- #300 – Button is a ContentControl
- #301 – Using Access Keys
- #302 – Access Keys for Controls that Don’t Have a Caption
- #303 – Define an Access Key for a Control Using an Underline
- #304 – Defining an Access Key That Gives Focus to a Different Control
- #305 – Guidelines for Defining Access Keys
- #306 – Keyboard Focus
- #307 – Giving Focus to a Control When an Application Starts
- #308 – Checking to See Which Control Has Keyboard Focus
- #309 – Keyboard Focus vs. Logical Focus
- #310 – Give a Control Logical Focus
- #311 – Giving Focus to a Control, Part II
- #312 – Specify a Default Button in a Window
- #313 – Specify a Cancel Button in a Window
- #314 – Typical Usage for Default and Cancel Buttons
- #315 – Setting IsDefault and IsCancel to the Same Button
- #316 – Changing the ClickMode of a Button
- #317 – Label Basics
- #318 – TextBox Basics
- #328 – Controls that Make Use of the Padding Property
- #338 – Setting a Control’s Foreground Color
- #339 – Wrapping a Button’s Text Content to Multiple Lines
- #340 – Create a Button with an Image
- #341 – Create a Button with an Image and Text
- #350 – CheckBox Basics
- #351 – Binding a CheckBox’s IsChecked Property to a Boolean Variable
- #352 – Use IsThreeState Property to Create a CheckBox that Has an Indeterminate State
- #353 – Binding a Three-State CheckBox to a Nullable Bool
- #354 – Use Three-State CheckBox to Show State of Other CheckBoxes
- #355 – Implementing Three-State CheckBox Dependent Behavior
- #356 – RadioButton Basics
- #357 – RadioButton is a ContentControl
- #358 – Binding a RadioButton to an Enumerated Type
- #359 – ToggleButton Basics
- #360 – Binding a ToggleButton’s IsChecked Property to a Boolean Variable
- #361 – Creating a ToggleButton Whose Content Is an Image
- #362 – Changing the Text on a ToggleButton When a User Clicks On It
- #363 – Calendar Control Basics
- #364 – Allowing a User to Select Multiple Dates in a Calendar Control
- #365 – SelectedDate and SelectedDates Properties of Calendar Control
- #366 – Binding a Calendar Control’s SelectedDate Property to a Nullable DateTime
- #367 – You Can’t Bind to a Calendar Control’s SelectedDates Property
- #368 – Specifying Blackout Dates in a Calendar Control
- #371 – Specifying a Default Date for a Calendar Control to Display
- #372 – Defining Tooltips for GUI Elements
- #373 – Creating More Complex Tooltips
- #374 – Using a Tooltip to Display the Full Contents of a TextBox
- #375 – Binding Something in a Tooltip to a Property on the Parent Control
- #376 – Getting Text to Wrap in a Tooltip
- #377 – Reuse Tooltips by Defining Them as Resources
- #378 – Positioning Tooltips
- #379 – Using a Tooltip As a Magnifier
- #380 – The Frame Control Can Host Web Content
- #381 – Loading .rtf Files Into a RichTextBox
- #382 – Persisting RichTextBox Contents as XAML
- #406 – Creating New Controls by Layering One on Top of Another
- #435 – Use Border Element to Draw Border Around Elements
- #436 – Using a Drop Shadow with a Border
- #437 – Showing Rounded Corners on a Border
- #438 – Border Element Can Have a Background
- #439 – Using a DropShadow with a Border, part II
- #474 – Hiding a ComboBox Selection Highlight When the Mouse Moves off Item
- #481 – You Can Draw On an InkCanvas Control with the Mouse
- #482 – You Can Include Other Controls Inside an InkCanvas
- #483 – InkCanvas MinHeight and MinWidth
- #484 – InkCanvas Contains a Collection of Strokes
- #486 – InkCanvas Supports Different Editing Modes
- #487 – Specify DrawingAttributes When Drawing to an InkCanvas
- #488 – You Can Change Drawing Attributes of Existing Strokes in an InkCanvas
- #489 – Using the InkCanvas to Recognize Gestures, part I
- #490 – Using the InkCanvas to Recognize Gestures, part II
- #491 – Displaying a Hyperlink
- #493 – Setting the Visibility of a User Interface Element
- #499 – Interacting with the Control That Initiated an Event
Data Binding
- #25 – Data Binding Overview
- #126 – Reacting to a Dependency Property Change Using Binding
- #369 – Binding a Label’s Content to the Current Date and Time
- #370 – Binding a Label’s Content to the Current Date and Time, part II
- #395 – Rich ListBox Content using Data Binding, part I
- #396 – Rich ListBox Content Using Data Binding, part II
- #397 – Rich ListBox Content Using Data Binding, part III
- #485 – Binding a ComboBox to an Enumerated Type’s List of Values
- #494 – Using a Value Converter to Bind to a Visibility Property
- #495 – Binding to a Visibility Property Without Using a Value Converter
Dependency Properties
- #133 – Where a Dependency Property Gets Its Value
- #134 – Dependency Property Value Sources: #1 – Local Value
- #135 – Dependency Property Value Sources: #2 – Parent Template Trigger
- #136 – Dependency Property Value Sources: #3 – Parent Template
- #137 – The Value of the Style Property Comes from One of Three Places
- #138 – Dependency Property Value Sources: #4 – Implicit Style
- #139 – Dependency Property Value Sources: #5 – Style Triggers
- #140 – Dependency Property Value Sources: #6 – Template Triggers
- #141 – Dependency Property Value Sources: #7 – Style Setters
- #142 – Dependency Property Value Sources: #8 – Theme Style Triggers
- #143 – Dependency Property Value Sources: #9 – Theme Style
- #144 – Dependency Property Value Sources: #10 – Inheritance
- #145 – Dependency Property Value Sources: #11 – Default Value
- #146 – Use GetValueSource Method to Find the Source of a Dependency Property Value
- #147 – Use SetCurrentValue When You Want to Set A Dependency Property Value from Within a Control
- #148 – Property Values Set Using Expressions Overwrite the Base Value
- #149 – Use PropertyChanged and Coercion Callbacks to Force Dependencies Between Properties
- #150 – An Example of Using PropertyChanged and CoerceValue Callbacks
- #151 – Dependency Properties Remember Non-Coerced Values
- #152 – Use ReadLocalValue() to Find the Local Value of a Dependency Property
- #153 – You Can Set the Value of any Dependency Property for any Dependency Object
- #154 – Reusing an Existing Dependency Property in Your Class
- #155 – Implementing an Attached Dependency Property
- #156 – Using the Tag Property to Store Custom Data with an Element
- #157 – You Can Set Standard CLR Properties from XAML
- #158 – When to Create a Custom Dependency Property
- #159 – Creating a Read-Only Dependency Property
- #160 – Be Careful When Setting Dependency Property Values from a DependencyObject Constructor
- #161 – Read a Dependency Property’s Metadata
- #162 – UIPropertyMetadata and FrameworkPropertyMetadata
- #163 – Constructing FrameworkPropertyMetadata
- #164 – Overriding Metadata for an Inherited Dependency Property
- #165 – Overriding Metadata Can Result in Merged Metadata
- #166 – You Can Override Metadata for Any Dependency Property
- #167 – Implementing a Dependency Property That Is A Collection
Events
Fonts
- #260 – The Concept of Fonts
- #261 – Standard Fonts in Windows 7
- #262 – Font Sample Sheets
- #263 – Specifying Font Properties
- #264 – Specifying Values for FontWeight
- #265 – Specifying Values for FontStyle
- #266 – Specifying Values for FontSize
- #268 – Default FontFamily and FontSize
- #334 – Specifying Values for FontFamily
- #335 – How WPF Finds Fonts on a Target System
- #336 – Intellisense Shows Fonts Available on Development System
- #337 – Specifying Font Properties for All Controls In a Window
Graphics
- #24 – Don’t Use Bitmaps in WPF Applications
- #172 – Changes to a Brush Cascade to Consumers of the Brush
- #174 – Predefined Brushes Are Already Frozen
- #208 – Color Values Are Stored as RGB Values
- #210 – Specifying Colors in XAML As RGB Values
- #211 – Creating a Color Value in Code
- #212 – Creating a Linear Gradient Brush
- #213 – Changing the Gradient Line in a Linear Gradient Brush
- #214 – Starting/Ending a Gradient Fill Inside a Control
- #215 – Other Choices for Gradient Spreads Outside the Fill Area
- #216 – Defining Several Different Gradient Stops in a Gradient Fill
- #217 – Using a Radial Gradient Brush
- #218 – Defining a Radial Gradient’s Focal Point
- #219 – Changing the Radius of a Radial Gradient
- #220 – Using the Predefined Colors
- #221 – Changing a Brush at Run-Time
- #222 – Example: Changing a Color Using RGB Sliders
- #223 – Predefined System Colors
- #224 – Using Predefined System Colors in XAML
- #225 – Using a Brush that Will Update When a System Color Changes
- #226 – Gradient Fills Adjust to the Size of the Control
- #227 – You Can Specify Gradient Fills in Absolute Coordinates
- #228 – Starting/Ending a Gradient Fill Outside a Control
- #229 – Using a Gradient Brush for a Window’s Border
- #230 – Changing a Radial Gradient as Mouse Moves Over a Control
- #231 – You Can Use a Brush for a Control’s Foreground
- #232 – The DrawingVisual Class
- #233 – An Example of Deriving from DrawingVisual Class
- #234 – Getting a DrawingVisual Object Rendered in a Window
- #235 – Types of Visual Content that You Can Create Using a DrawingContext
- #236 – Drawing an Arbitrary Geometry into a DrawingVisual
- #237 – Drawing Shapes with the Shape Subclasses
- #239 – Creating a Custom Shape by Overriding the Shape Class
- #240 – Shape vs. DrawingVisual
- #241 – Rendering Text Using DrawText
- #242 – Drawing Text Using DrawGlyphRun
Layout
- #180 – How Layout Works
- #319 – The StackPanel Stacks Controls Vertically or Horizontally
- #320 – Default Size of StackPanel Child Controls
- #321 – HorizontalAlignment and VerticalAlignment
- #322 – Giving StackPanel Child Controls an Explicit Size
- #323 – Provide Space Around StackPanel Children Using Margin
- #324 – Setting a Margin with Different Sizes on Each Edge
- #325 – Specifying a Margin Value in Code
- #326 – Specifying a Symmetrical Margin Using Two Arguments
- #327 – Provide Extra Space Within a Control Using Padding
- #329 – Principles of Layout in WPF
- #330 – HorizontalContentAlignment and VerticalContentAlignment
- #331 – Default Values for HorizontalContentAlignment and VerticalContentAlignment
- #332 – HorizontalContentAlignment and VerticalContentAlignment Are Sometimes Not Relevant
- #333 – Margin and Padding Overview
- #383 – The Problems with Coordinate-Based Layout
- #384 – The Benefits of Flow-Based Layout
- #385 – You Can Nest Panel Controls
- #386 – Layout = Panels + FrameworkElements + Alignment/Margins/Padding
- #387 – Set Background Color to See How Layout Works
- #388 – Layout Containers Don’t Provide Scrolling Support
- #389 – Wrap a Panel in A ScrollViewer to Provide Scrolling Support
- #390 – Scrollbar Visibility in a ScrollViewer
- #391 – Anti-Aliasing Can Lead to Fuzzy GUI Elements
- #392 – Use SnapsToDevicePixels Property to Prevent Anti-Aliasing
- #393 – Canvas Element
- #398 – WrapPanel Element
- #399 – WrapPanel Will Change Layout of its Children as its Size Changes
- #400 – Using a WrapPanel as the Items Panel for a ListBox
- #401 – DockPanel Element
- #402 – Final Child of DockPanel Fills Remaining Space by Default
- #403 – The Order of DockPanel Children Matters
- #404 – A Grid Hosts Child Controls in Rows and Columns
- #405 – Default Values for Grid.Row and Grid.Column Properties
- #407 – Grid Contains Single Row and Column by Default
- #408 – ShowGridLines Property Allows You to See Individual Cells in Grid
- #409 – Child Elements in a Grid Size to Fit the Containing Cell
- #410 – Default Grid Row and Column Sizes
- #411 – Use HorizontalAlignment and VerticalAlignment to Position Child Elements within a Grid
- #412 – Three Ways to Set Row Height or Column Width in a Grid
- #415 – Setting Grid Row Height and Column Width Properties to Absolute Values
- #416 – Setting Grid Rows and Columns to Autosize
- #417 – Using Star Sizing to Distribute Space Evenly across Rows or Columns
- #418 – Star Sizing Allows Setting Row and Column Sizes Relative to Each Other
- #419 – How Cell Sizes are Calculated when Using Star Sizing
- #420 – You Can Use Floating Point Values for Star Sizing
- #421 – HorizontalAlignment, Margins and Column Widths in a Grid
- #422 – Setting Minimum Height and Width on Rows and Columns in a Grid
- #423 – Setting Maximum Height and Width for Rows and Columns in a Grid
- #424 – Getting Data-Bound Items in a ListBox to Be a Consistent Size
- #425 – SharedSizeGroup Allows Sharing Column Sizes Across Different Grids
- #426 – Layout Panels Can Also Have Margins
- #429 – Child Element Properties that Affect Layout
- #430 – Setting Width and Height Using Different Units
- #431 – Binding a Control’s Width to Its Height
- #432 – Height and Width vs. ActualHeight and ActualWidth
- #440 – How Alignment Properties Behave in a WrapPanel
- #441 – Setting a Consistent Height/Width for Child Elements in a WrapPanel
- #442 – WrapPanel Child Elements Can Be Clipped
- #443 – Reversing the Flow Direction in a WrapPanel
- #444 – Children of DockPanel Don’t Always Have to be Stretched
- #445 – DockPanel Can Be Used Like a StackPanel
- #446 – Default Docking for DockPanel Children
- #447 – You Can Use Layout Transforms Within a DockPanel
- #448 – Data Binding Elements in a Collection to a Grid, part I
- #449 – Data Binding Elements in a Collection to a Grid, part II
- #450 – Data Binding Elements in a Collection to a Grid, part III
- #451 – Data Binding Elements in a Collection to a Grid, Part IV
- #452 – Data Binding Elements in a Collection to a Grid, Part V
- #453 – The UseLayoutRounding Property Aligns Things to Pixel Boundaries
- #454 – UseLayoutRounding vs. SnapsToDevicePixels
- #455 – Using ItemContainerStyle to Bind Data Elements in a Collection to a Grid
- #456 – An Element in a Grid Can Span Multiple Rows or Columns
- #457 – Use a GridSplitter to Let a User Change Row or Column Size in a Grid
- #458 – Properties to Set When Using a Horizontal or Vertical GridSplitter
- #459 – Using Two (or More) GridSplitter Elements in the Same Grid
- #460 – A GridSplitter Can Share a Cell with Another Control
- #461 – Making a GridSplitter Look Three-Dimensional
- #462 – Drawing a Better Looking GridSplitter
- #463 – Multiple Parallel GridSplitters
- #464 – ShowsPreview Property Delays Row/Column Size Change Using a GridSplitter
- #465 – Using GridSplitters with Nested Grids
- #466 – Using a GridSplitter in Conjunction with a SharedSizeGroup
- #467 – Use a UniformGrid for Evenly Spaced Rows and Columns
- #468 – FirstColumn Property Allows Blank Cells in a UniformGrid
- #469 – Filling a UniformGrid from Right to Left
- #470 – Elements that Support RightToLeft Flow
- #471 – How FlowDirection Works with the Image Element
- #472 – UniformGrid Defaults to Being Square
- #473 – Positioning Child Elements in a Canvas
- #475 – Child Elements in Canvas Can Overlap
- #476 – Set ZIndex Values for Child Elements of Canvas
- #477 – Default ZIndex Value for Child Elements of a Canvas
- #478 – Two Out of Four Margin Values Are Used for Elements in a Canvas
- #479 – Using a Layout Transform on Child Elements in a Canvas
- #480 – ZIndex Values and Render Transforms
- #492 – Layout Can Change at Runtime
- #496 – Using a StackPanel to Make a Group of Buttons the Same Size
- #497 – Use a UniformGrid to Make a Group of Buttons the Same Size
Media
Miscellaneous
- #115 – Downloading All .NET 4 Source Code
- #238 – The Best Books on WPF
- #498 – A List of WPF Blogs and Forums
Visual Studio
- #3 – Tools for Developing WPF Applications
- #4 – WPF Replaces Windows Forms
- #37 – Choosing Which Version of the .NET Framework to Target
- #88 – Finding Metadata for WPF Types
- #89 – Using Visual Studio to Follow the Inheritance Chain for WPF Types
- #90 – Stepping Into .NET Source Code in Visual Studio 2010
- #91 – What InitializeComponent() Does
- #128 – Using Code Snippets to Implement a Dependency Property
- #181 – Creating a WPF Development Environment
- #182 – Create a WPF Project from Either Visual Studio or Blend
- #183 – Project Types Available from Visual Studio 2010 and Expression Blend 4
- #184 – Creating a WPF Application Using Visual Studio
- #186 – When to Use Blend (vs. Visual Studio)
- #187 – Adding Controls to a Window Using Visual Studio
- #189 – Adding an Event Handler to a Control Using Visual Studio
- #193 – You Can Have a Project Open in Blend and Visual Studio at the Same Time
- #288 – Editing WPF Code-Behind in Visual Studio
- #290 – Using Intellisense in Visual Studio
- #291 – Intellisense Lists Available Methods and Properties
- #292 – Intellisense Includes Information About a Method’s Parameters
- #293 – Intellisense Will Show Overloaded Methods
- #294 – Intellisense Is Also Available in the XAML Editor
- #413 – Creating a Grid from the Visual Studio Designer
Windows
XAML
- #56 – XAML
- #57 – Markup vs Code
- #58 – Other Places that XAML Is Used
- #59 – XAML in Visual Studio 2010
- #60 – XAML in Expression Blend
- #61 – Exporting XAML From Expression Design
- #62 – BAML is Compiled XAML
- #65 – XAML Vocabularies
- #66 – XAML Elements Map to Instances of .NET Types
- #67 – XAML Attributes Map to Property Values
- #68 – Nesting XAML Elements Expresses Containment
- #69 – Internet Explorer Can Interpret XAML Directly
- #70 – Specifying Event Handlers in XAML
- #71 – XAML Files Have A Single Root Element
- #72 – XAML Namespaces
- #73 – Multiple Namespaces Using Prefixes
- #74 – Property Element Syntax
- #75 – Sometimes You Must Use Property Element Syntax
- #76 – Two Types of Elements in XAML
- #77 – XAML Collection Syntax
- #78 – Setting the Value of a Content Property By Setting Child Element
- #79 – Content Properties for Common WPF Types
- #80 – Content Properties and Collection Syntax Express UIElement Containment
- #81 – XAML Is Case Sensitive
- #82 – How XAML Handles Whitespace
- #83 – Collection Syntax for Read-Only vs. Read-Write Properties
- #84 – Store Reusable Objects in a Resource Dictionary
- #85 – Two Main Namespaces Used in Every WPF XAML File
- #86 – The Class Attribute Points to Your Code-Behind
- #87 – Type Converters
- #92 – Markup Extensions
- #93 – Specifying Markup Extensions Using Property Element Syntax
- #94 – Naming Elements
- #95 – x:Name vs. Name
- #96 – Common XAML Namespace Attributes
- #97 – Attached Properties
- #98 – How Attached Properties Work in WPF
- #99 – Creating Custom Objects in XAML
- #100 – Loose XAML Files
- #101 – What Visual Studio Does with Your XAML
- #102 – Using XamlReader to Load a Loose XAML File
- #103 – XAML 2009
- #104 – Using FindName to Find Named Children of a Control
- #105 – Viewing BAML as XAML
- #106 – Set Property Value to Point to Another Object
- #107 – Markup Extensions in the XAML Namespace