Contribute financially to accelerate the development of new features

Introduction

The CSHTML5 product is open-source, which means that if you need any particular feature, you can either:

  • implement it on your side (to do so, please start by reading the Readme on the GitHub repository. We also recommend you to look at how the other features are implemented - see for example how native low-level XAML controls are implemented here, and how "Kendo UI wrappers for XAML" are implemented here)
  • ask someone in the CSHTML5 community to implement it
  • hire someone (on Upwork or elsewhere) to implement it
  • or hire us to implement it for you.

This page details the latter option.

We call it "contributing to accelerate the development of CSHTML5" because you only pay half of the cost of development and we bear the remaining 50%, because obviously your contribution helps move the product forward.

Over the past few years, tens of features have been developed thanks to such financial contributions from users.

We can deliver some of the features as quickly as in 1 week.

To proceed, just contact us at sales@cshtml5.com (or click the round "Help" button located in the bottom-right corner of this page) and let us know which feature you are interested in. We will quickly reply with a proposal that includes the specifications, the cost, and the date of delivery.

 

Cost estimation

The table below shows some cost estimations for missing features. It also provides workarounds when available. If your feature is not listed below, simply contact us at sales@cshtml5.com to get a quote.

Our core developers daily rate is 780 USD (or 580 GBP, 680 EUR, 980 CAD). As mentioned above, we then bear half the cost of development.

To estimate your final cost, please take the workload duration indicated below, multiply it by the daily rate above, and divide by two. Feel free to contact us at sales@cshtml5.com if you have any questions.

 

Limitations Workload Workaround (if easy)
DependencyObject.ClearValue < 1 day
FrameworkElement.DataContextChanged < 1 day
DataErrorsChangedEventArgs, INotifyDataErrorInfo.GetErrors(...), ValidationErrorEventArgs.Handled 3 days  
FocusManager.GetFocusedElement() < 1 day
UserControl.Language 5 days
ProgressBar < 1 day
RadiusX, RadiusY 3 days Use a <Border> control instead of <Rectangle> and set its CornerRadius
ImageBrush 5 days Use the <Image> control instead
<EventTrigger RoutedEvent="ContentControl.Loaded"><BeginStoryboard> 2 days Register the Loaded event in C# and start the storyboard programmatically instead.
ColorAnimationUsingKeyFrames 5 days Replace with "ColorAnimation" (without key frames) if the key frames are not critical to your animation.
Page.Title < 1 day  
UIElement.Clip 3 days To clip the content of a control to the bounds of the control, set the "ClipToBounds" property to "True". For an arbitrary rectangular clip, place your control inside a <Border> that has the "ClipToBounds" property set to "True", and use positive or negative margins to position the clipping area.
Control.ApplyTemplate < 1 day  
ListBox.ScrollIntoView 2 days  
PointAnimation 2 days  
Polygon 2 days  
Polyline 2 days  
Popup.Opened < 1 day  
SizeChangedEventArgs.PreviousSize < 1 day  
DataTemplate.LoadContent < 1 day  
TreeView 3 days  
HtmlDocument.Cookies 2 days Read the cookies with Interop.ExecuteJavaScript("document.cookie") instead
IScrollProvider.HorizontalScrollPercent, VerticalScrollPercent, SetScrollPercent < 1 day  
ScrollViewer.ScrollableHeight and ViewportHeight < 1 day Read the .scrollHeight property of the DOM node via JS interop instead
PrintDocument 5 days Use the PrintManager class instead
InitParams < 1 day  
MouseWheel event 2 days  
TextBox.Select < 1 day Set the properties "TextBox.SelectionStart" and "TextBox.SelectionLength" (which are already supported) instead
TextBox.SelectionChanged < 1 day  
TextBox.LineHeight < 1 day  
VisualTreeExtensions.GetBoundsRelativeTo < 1 day  
AutomationPeers 4 days  
DateTime.FromOADate and ToOADate < 1 day  
CollectionViewSource 3 days  
PlaneProjection 2 days  
NavigationContext.QueryString < 1 day Parse the QueryString by reading HtmlPage.Document.DocumentUri.ToString() instead
ScrollViewer.ComputedVerticalScrollBarVisibility < 1 day  
BlockArrow 2 days  
ChangePropertyAction < 1 day  

If your feature is not listed here, please contact us at sales@cshtml5.com for a quote.

 

Ready to proceed?

Just contact us at sales@cshtml5.com (or click the round "Help" button located in the bottom-right corner of this page) and let us know which feature you are interested in.

We will quickly reply with a proposal that includes the specifications, the cost, and the date of delivery.

 

Related Topics