In my current WPF/MVVM project, which uses package Telerik.Windows.Controls.Spreadsheet.for.Wpf.Xaml for a view, I would like to keep the ViewModel in a netstandard2.0 project. The ViewModel project references package Telerik.Documents.Spreadsheet and exposes a property of type Telerik.Windows.Documents.Spreadsheet.Model.Workbook to which the view binds in XAML.
At runtime I get (nonsensical?) XAML Binding Failures:
1. Cannot create default converter to perform 'one-way' conversions between types
Consider using Converter property of Binding.
2. Value 'Telerik.Windows.Documents.Spreadsheet.Model.Workbook' (type Workbook)
cannot be assigned to property RadSpreadsheet.Workbook (type Workbook).
Adding an empty "no-op" System.Windows.Data.IValueConverter gets rid of those, but still an empty grid is displayed, although the ViewModel constructor prepopulates the spreadsheet.
Note the system behaves as expected when I instead use the same code in the net5.0 project that via package Telerik.Windows.Controls.Spreadsheet.for.Wpf.Xaml references package Telerik.Windows.Documents.Spreadsheet (which also has type Model.Workbook)
If Telerik.Windows.Documents.Spreadsheet and Telerik.Documents.Spreadsheet serve different purposes, why do they have the same namespaces?
How can I have my ViewModel in netstandard2.0?
Please find a small repro attached.
In Telerik.Spreadsheet.WPF.csproj switch Property "ViewModel" between values "direct" and "indirect" to toggle between the two versions.