# Key Features

## Content

**Binding Expressions** **for** **WPF and Silverlight** provides the following unique key features:

* Support for Operators and Functions
    Perform simple operations (+, -, \*, /) and functions directly in your binding statement. Supported functions include Sum, Average, and Concatenate. For a list of operators and functions, see [C1Binding Expression Syntax Elements](/componentone/docs/wpf/online-binding/C1Binding_Expression_Syntax_Elements).
* **Use Quotes without Breaking your XAMLUse quotes in your binding expressions without breaking your XAML. C1Binding Expressions** support inline quotes in two forms: &**quot**; or use of the pipe \(\|\) character\.
* Logical Expressions
    Apply simple if/else logic directly in your binding statement. **C1Binding** supports an ‘IF’ function with the following syntax: if(condition, true value, false value).
* Clean and Expressive XAML
    By using **C1Binding Expressions**, your XAML will be much cleaner and more expressive. And it’s 100% self-contained. You do not need any external converters referenced from elsewhere in your solution.
* Calculation Engine
    In addition to the [C1Binding](/componentone/api/wpf/online-binding/dotnet-framework-api/C1.WPF.Binding.4.6.2/C1.WPF.Binding.C1Binding.html) class, the **C1.Silverlight.Binding** and **C1.WPF.Binding** assemblies provide a [C1CalcEngine](/componentone/api/wpf/online-binding/dotnet-framework-api/C1.WPF.Binding.4.6.2/C1.WPF.Binding.C1CalcEngine.html) class that is responsible for evaluating the expressions. The **C1CalcEngine** class can be used independently of the **C1Binding**, to implement calculated input boxes, spreadsheets, and many other applications. See the **C1CalcEngine** class for more information and some usage scenarios.
* Silverlight 5 Support
    The **C1.Silverlight.Binding** classes require Silverlight 5. This is because they rely on MarkupExtensions, which are not available in earlier versions of Silverlight.