The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, Windows Presentation Foundation (WPF), Silverlight, Windows Phone.
I have my own little WPF utility library that provides some essential functionality that isn't included in WPF-proper (or other XAML frameworks, I assume) or MvvmLight. I'll be happy to share my implementation if you like. I think if they were included in the MvvmLight.Extras then they'd benefit more people.
A whole slew of IValueConverter for XAML-frustrations like:
BooleanToVisibilityConverter (that accepts an enum parameter to specify if false means Collapsed, Hidden or Visible and so on).
EnumToBooleanConverter
NullToVisibilityConverter
TextTransformConverter (parameterised by an enum specifying ToUppercase, ToLowercase, ToTitleCase
I also have plans to build a Markup-Extension or Binding Converter that allows for C#-like expressions to be used in bindings, to eliminate the need for most Converters or hacks in ViewModels. Already there's the MathConverter available here: https://rachel53461.wordpress.com/2011/08/20/the-math-converter/ - but that's restricted to numeric arithmetic - but my proposal would use something like DLR/Dynamic-Linq or the built-in C# expression parser so we could do something like this:
I'm also looking at possibly avoiding common converters in Binding expressions by using better-typed Attached Properties, e.g.:
I have my own little WPF utility library that provides some essential functionality that isn't included in WPF-proper (or other XAML frameworks, I assume) or MvvmLight. I'll be happy to share my implementation if you like. I think if they were included in the MvvmLight.Extras then they'd benefit more people.
class BindingProxy : System.Windows.Freezable
- pretty much from here: https://www.thomaslevesque.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-inherited/CultureAwareBinding
- As described here: https://stackoverflow.com/questions/5831455/use-real-cultureinfo-currentculture-in-wpf-binding-not-cultureinfo-from-ietflIValueConverter
for XAML-frustrations like:BooleanToVisibilityConverter
(that accepts an enum parameter to specify iffalse
meansCollapsed
,Hidden
orVisible
and so on).EnumToBooleanConverter
NullToVisibilityConverter
TextTransformConverter
(parameterised by an enum specifyingToUppercase
,ToLowercase
,ToTitleCase
I also have plans to build a Markup-Extension or Binding Converter that allows for C#-like expressions to be used in bindings, to eliminate the need for most Converters or hacks in ViewModels. Already there's the
MathConverter
available here: https://rachel53461.wordpress.com/2011/08/20/the-math-converter/ - but that's restricted to numeric arithmetic - but my proposal would use something like DLR/Dynamic-Linq or the built-in C# expression parser so we could do something like this:I'm also looking at possibly avoiding common converters in Binding expressions by using better-typed Attached Properties, e.g.:
...where
Vis.Visible
is a Boolean property that proxiesUIElement.Visibility
, instead of: