dotnet / DataGridExtensions

Modular extensions for the WPF DataGrid control
MIT License
820 stars 105 forks source link

Attachable Property Warning (XAML Compiling Error) #57

Open dnx231 opened 3 years ago

dnx231 commented 3 years ago

Hi, i am getting a warning on every line in XAML Code with DataGrid Extension. image

This screenshot is from your SampleProject. The Extension works with no problems, but with this Warning the XAML Hot Reload doesn't work and i am unable to change XAML Code while Debugging.

Any advice?

tom-englert commented 3 years ago

This is an issue with the XAML editor - raise an issue for Visual Studio.

tom-englert commented 3 years ago

Duplicate of #53

dnx231 commented 3 years ago

Hi, i am using several extensions in my Project (e.g. Gong.Wpf.DragDrop) with no errors about attachable properties and i can't find any Issue reports for this behaviour in Google, Reddit, Stackoverflow.

Are you sure?

tom-englert commented 3 years ago

I've been so used over the years to see false errors like this in the XAML-designer, that I had stopped wondering about them.

However here I actually found what confuses the designer - I had marked the getters of some attached properties as extension methods, so they are easier to use from code.

Since the code compiles and runs, and only shows an error when loading into the designer, IMO this is really a bug in the designer.

I have removed the extension method signatures for all attached property getters in 2.6.0-beta1, hoping this will not create too much breaking changes in projects that use it.

dnx231 commented 3 years ago

Thanks for your quick response and the fix!

tom-englert commented 3 years ago

@dnx231, @fchtngr, @mdomas1: here is the issue I've created for VS about the XAML designer, maybe you can vote for it to give it more attention: https://developercommunity.visualstudio.com/t/xaml-designer-shows-xdg0012-when-the-attached-prop/1410871

tom-englert commented 3 years ago

There's a fix available in Visual Studio 2022 version 17.0 Preview 1, so I will not continue to maintain the workaround provided in 2.6.0-beta1.