Limitations and workarounds

XAML-related limitations:

  • Grid.RowSpan and Grid.ColumnSpan are not supported. (Coming Soon!)
    Workaround: nest a Grid inside another Grid to achieve a similar result.
  • ListBox controls do not have built-in scroll bars.
    Workaround: Place the ListBox inside a ScrollViewer control. Tip: for smooth scrolling on mobile devices, set VerticalScrollBarVisibility to Visible rather than Auto.
  • CenterX and CenterY are not supported in render transforms.
    Workaround: set the RenderTransformOrigin property on the element itself. Tip: to achieve the same transform without using CenterX and CenterY, consider experimenting with Microsoft Blend on a separate WPF or UWP project. In fact, Microsoft Blend by default also does not use the CenterX and CenterY properties for render transforms.
  • Triggers are not supported.
    Workaround: instead of Triggers, use the VisualStateManager class in conjunction with Storyboards. Tip: consider experimenting with Microsoft Blend on a separate UWP or Silverlight project, which also do not support triggers.
  • TransformGroup is not supported.
    Workaround: instead of a TransformGroup, you may use a CompositeTransform, which lets you apply multiple transforms in the following order: Scale, Skew, Rotate, Translate.
  • StrokeStartLineCap and StrokeEndLineCap must have the same value for a given element.
    Workaround: set both properties to the same value, or remove those properties altogether. Note: this is due to the fact that HTML5 does not support a different cap for the Start and the End of a line. The default value of those properties is: Flat.
  • It is recommended that you explicitly set a fixed Width and Height (in pixels) for ChildWindows, otherwise they may take the size of the whole page.
    For example, you can set it like this: <ChildWindow Width="400" Height="400"> ...
  • Features that are not YET directly supported include:
    (Note: an HTML-based workaround may be found for many of the features listed here)
    UseSystemFocusVisuals, IsFocusEngagementEnabled, IsTabStop, TabIndex, ManipulationMode, ManipulationDelta, ManipulationStarted, ManipulationCompleted, implicit styles, implicit data templates, Generic.xaml, ZIndex, RadiuxX, RadiusY, Frame, Slider, TreeView, RepeatButton, RTF, Inlines, Run, ViewBox, RepeatButton, StrokeDashCap, RadialGradientBrush, XAMLReader.Load.

    Please also refer to the page "List of supported .NET types and methods"..

C# limitations:

WCF and HTTP-related limitations:

Click here to read about WCF and HTTP-related limitations.

XML Serialization-related limitations:

Click here to read about XML serializer limitations.

Mscorlib limitations:

Only a subset of the Mscorlib methods are currently supported. You can see the list of supported types here, and read the guide on how to implement mscorlib methods.

Visual Studio integration known issues:

  • You may sometimes see misleading XAML-related errors at design-time.
    Workaround: to only see the "real" error, close all the XAML Editor tabs, and recompile your project by clicking the "Build Solution" or "Build Project" commands.
  • Ctrl+F will open the "Find in Files" dialog instead of the "Quick Find" pane.


Related Topics