## I'm submitting a... - Feature request ## UserVoice link https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/33268000-calcbinding-for-uwp ## Description > **CalcBinding** is an advanced Binding markup extension that allows you to write calculated binding expressions in XAML, without custom converters. CalcBinding can automatically perform bool to visibility conversion, inverse your expression and more. CalcBinding makes binding expressions shorter and more user-friendly. [CalcBinding](https://github.com/Alex141/CalcBinding) (by @Alex141) is a very useful feature. It allows us to do many common functionalities in the binding which are typically need converters. But it is only available for WPF. It will be nice to have something similar to UWP. **Here are some key features of CalcBinding** (source: [CalcBinding - Key features and restrictions](https://github.com/Alex141/CalcBinding#key-features-and-restrictions)) 1. One or **many** source properties in Path with many available operators ```xml <Label Content="{c:Binding A*0.5+(B.NestedProp1/C - B.NestedProp2 % C) }" /> ``` ```xml <c:Binding 'A and B or C' /> ``` 2. One or **many static properties** in Path ```xml <TextBox Text="{c:Binding 'local:StaticClass.Prop1 + local:OtherStaticClass.NestedProp.PropB + PropC'}"/> ``` ```xml <Button Background="{c:Binding '(A > B ? media:Brushes.LightBlue : media:Brushes.White)'}"/> ``` 3. Properties and methods of class **System.Math** in Path ```xml <TextBox Text="{c:Binding 'Math.Sin(Math.Cos(A))'}"/> ``` 4. **Enum** types like constants or source properties in Path ```xml <TextBox Text="{c:Binding '(EnumValue == local:CustomEnum.Value1 ? 10 : 20)'}"/> ``` 5. **Automatic inversion** of binding expression if it's possible ```xml <TextBox Text = "{c:Binding 'Math.Sin(A*2)-5'}"/> {two way binding will be created} ``` 6. Automatic two way convertion of **bool** expression **to Visibility** and back if target property has such type ```xml <Button Visibility="{c:Binding !IsChecked}" /> <Button Visibility="{c:Binding IsChecked, FalseToVisibility=Hidden}" /> ``` ---- Related issue [CalcBinding#47](https://github.com/Alex141/CalcBinding/issues/47). This issue has no hope as @Alex141 said > I really paused work on the project in [CalcBinding#51](https://github.com/Alex141/CalcBinding/issues/51)