Quantcast
Channel: YouTrackReSharper (RSRP) - Bug and Issue Tracker
Viewing all articles
Browse latest Browse all 106942

RSRP-469159: Error "Property 'DataContext' is not attachable to elements of type 'Style'" is produced by VS when d:DataContext attribute put on non-control elements

$
0
0
Reporter Alexander Prokhorov (Athari) Alexander Prokhorov (Athari)
Created Apr 8, 2018 5:10:42 PM
Updated Apr 8, 2018 5:13:40 PM
Subsystem XAML
Assignee Alexander Shvedov (shvedov)
Priority Normal
State Submitted
Type Improvement
Fix version No Fix versions
Affected versions No Affected versions
Fixed In Version ReSharper Undefined
VsVersion All Versions

ReSharper supports attaching Blend's d:DataContext attribute to more elements than the attribute was originally designed for, including ControlTemplate and Style which do not support any way of specifying data context (DataTemplate has DataType, d:DataContext isn't required in this case). However, using this feature causes Visual Studio to produce IntelliSense errors on every usage:

Property 'DataContext' is not attachable to elements of type 'ControlTemplate'

According to a post on StackOverflow, ReSharper's developers were searching for solution for over six years. Apparently it wasn't found.

I propose the following solution:

  • Add support for alternative XML namespace of http://schemas.microsoft.com/expression/blend/2008, like urn:jetbrains:resharper:xaml. It could then be used instead of xmlns:d="http://schemas.microsoft.com/expression/blend/2008" or in addition to it. It should not cause any issues with compiling, it can just be added to xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable attribute just like Blend's namespaces.

Adding support for it is currently as simple as interpreting some other namespace as http://schemas.microsoft.com/expression/blend/2008. This trivial change would solve the problem of numerous errors in Visual Studio.

Furthermore, the namespace can be extended further. For example, you can add attributes to ignore warnings within a XAML subtree, specify context on bindings, specify type of data in properties other than DataContext. I suspect some of these features have been requested already.


Viewing all articles
Browse latest Browse all 106942

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>