Skip to content
This repository was archived by the owner on Feb 25, 2026. It is now read-only.
This repository was archived by the owner on Feb 25, 2026. It is now read-only.

Feature Request - CalcBinding for UWP #1790

@Vijay-Nirmal

Description

@Vijay-Nirmal

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 (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)

  1. One or many source properties in Path with many available operators
<Label Content="{c:Binding A*0.5+(B.NestedProp1/C - B.NestedProp2 % C) }" />
<c:Binding 'A and B or C' />
  1. One or many static properties in Path
<TextBox Text="{c:Binding 'local:StaticClass.Prop1 + local:OtherStaticClass.NestedProp.PropB + PropC'}"/>
<Button Background="{c:Binding '(A > B ? media:Brushes.LightBlue : media:Brushes.White)'}"/>
  1. Properties and methods of class System.Math in Path
<TextBox Text="{c:Binding 'Math.Sin(Math.Cos(A))'}"/>
  1. Enum types like constants or source properties in Path
<TextBox Text="{c:Binding '(EnumValue == local:CustomEnum.Value1 ? 10 : 20)'}"/>
  1. Automatic inversion of binding expression if it's possible
<TextBox Text = "{c:Binding 'Math.Sin(A*2)-5'}"/> {two way binding will be created}
  1. Automatic two way convertion of bool expression to Visibility and back if target property has such type
<Button Visibility="{c:Binding !IsChecked}" /> 
<Button Visibility="{c:Binding IsChecked, FalseToVisibility=Hidden}" />

Related issue CalcBinding#47. This issue has no hope as @Alex141 said

I really paused work on the project

in CalcBinding#51

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions