WPF and XAML - HOWTO: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 1: | Line 1: | ||
[[Category:English pages]] | [[Category:English pages]] | ||
[[Category:Software development]] | [[Category:Software development]] | ||
== | ====Tools==== | ||
* [http:// | Show Me The Template is a great tool for looking at default control templates | ||
* [http://www.sellsbrothers.com/Posts/Details/2091 Show Me The Template] | |||
====Visual Studio Designer==== | |||
==Troubleshooting WPF and Silverlight Designer Load Failures== | ==Troubleshooting WPF and Silverlight Designer Load Failures== | ||
http://msdn.microsoft.com/en-us/library/ff356886(VS.95).aspx | http://msdn.microsoft.com/en-us/library/ff356886(VS.95).aspx | ||
| Line 18: | Line 20: | ||
#In the first Visual Studio instance that you are debugging, reload the XAML file.<br>The second instance of Visual Studio opens and displays the load exception. | #In the first Visual Studio instance that you are debugging, reload the XAML file.<br>The second instance of Visual Studio opens and displays the load exception. | ||
Note: You can click Stop Debugging in the second instance of Visual Studio and the first instance keeps running | Note: You can click Stop Debugging in the second instance of Visual Studio and the first instance keeps running | ||
====XAML==== | |||
==Standard Date and Time Format Strings== | |||
* [http://msdn.microsoft.com/en-us/library/az4se3k1.aspx Standard Date and Time Format Strings] | |||
==Label without accelerator== | ==Label without accelerator== | ||
Revision as of 06:37, 17 September 2014
Tools
Show Me The Template is a great tool for looking at default control templates
Visual Studio Designer
Troubleshooting WPF and Silverlight Designer Load Failures
http://msdn.microsoft.com/en-us/library/ff356886(VS.95).aspx
Debugging a Designer Load Failure
To debug a designer load failure
- Open a second instance of Visual Studio.
- From the Debug menu, choose Attach to Process.
The Attach To Process dialog box opens. - In the Available Processes section, select the instance of devenv.exe that is loading your XAML and click Attach.
The Visual Studio debugger attaches to the selected devenv.exe instance. - From the Debug menu, choose Exceptions.
The Exceptions dialog box opens. - In the Break when exception is list, find the Common Language Runtime Exceptions name, and then check the Thrown check box.
- Click OK.
- In the first Visual Studio instance that you are debugging, reload the XAML file.
The second instance of Visual Studio opens and displays the load exception.
Note: You can click Stop Debugging in the second instance of Visual Studio and the first instance keeps running
XAML
Standard Date and Time Format Strings
Label without accelerator
<source lang="csharp">
<Label>
<ContentPresenter RecognizesAccessKey="False" Content="_123">
</ContentPresenter>
</Label>
</source>
Virtualizing an ItemsControl
<Style x:Key="ItemsControlVirtualisedStyle"
TargetType="ItemsControl">
<Setter Property="VirtualizingStackPanel.IsVirtualizing"
Value="True" />
<Setter Property="VirtualizingPanel.IsVirtualizingWhenGrouping"
Value="True" />
<Setter Property="VirtualizingPanel.ScrollUnit"
Value="Pixel" />
<Setter Property="ScrollViewer.CanContentScroll"
Value="True" />
<Setter Property="ScrollViewer.PanningMode"
Value="VerticalOnly" />
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ItemsControl">
<Border BorderThickness="{TemplateBinding Border.BorderThickness}"
Padding="{TemplateBinding Control.Padding}"
BorderBrush="{TemplateBinding Border.BorderBrush}"
Background="{TemplateBinding Panel.Background}"
SnapsToDevicePixels="True">
<ScrollViewer Padding="{TemplateBinding Control.Padding}"
HorizontalScrollBarVisibility="Disabled"
Focusable="False">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" />
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</source>