
1. When I try to clear it, I'll get an error "Value '' could not be converted" - I'm guessing this is because I'm binding a decimal and not a double. When you're dealing with currency, C# tells you to ALWAYS use decimal. I guess I could add a converter to my binding, but I'd rather there be a better way.
2. Those leading placeholders. Even if I turn off autofillnumbergroupserpartors, I won't get the comas after I lose focus.
3. When I type focus on a RadMaskedCurrencyInput and type "123", "321.00" shows up in the textbox
I'm leaning towards using a RadMaskedTextInput and only allowing 1-9 and '.''s. I guess it would be nice if I could keep using RadMaskedTextbox, but I can't expect you to fix an issue on a control that's outdated? Is there a way to get rid of those red borders in a tabcontrol? It works fine in Silverlight, but not WPF. I could probably create a sample project for you, but I don't want to waste time because that control is outdated.
7 Answers, 1 is accepted
Let me first make a quick clarification - we are now in a process of resolving the MaskedInput's main issues (that usually stop our clients upgrading from MaskedTextBox to MaskedInput) and our goal is to obsolete the RadMaskedTextBox next year.
Now to the points:
- You don't need to use a converter. The clear button makes the value null so you can only use decimal? instead of decimal in the ViewModel and the Validation error will not be produced. You can see this in the attached project.
- Could you please try setting the Placeholder to " " and let us know if this is the desired behavior ?
- In the attached project you can see the SelectionOnFocus proeperty set to "CaretToBeggining". Pressing 123 then writes 123. You can also play with the other options for SelectionOnFocus and choose the best option for you.
Regards,
Petar Mladenov
the Telerik team
Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

The only issue now is the decimal? . The thing is with the old MaskedTextBox I didn't have to use a nullable type decimal? (and other controls I've seen, a nullable decimal isn't needed). I'm getting a lot of values from my webservice that are type decimal. I guess I could change all them in the webservice to decimal? . Maybe I should anyway, I just usually don't use that.
This is what I'm using below, works great except no max length of the number
<
Style
x:Key
=
"RadMaskedMoneyLimit"
TargetType
=
"telerik:RadMaskedCurrencyInput"
>
<
Setter
Property
=
"Mask"
Value
=
""
/>
<
Setter
Property
=
"FormatString"
Value
=
"c"
/>
<
Setter
Property
=
"TextMode"
Value
=
"PlainText"
/>
<
Setter
Property
=
"Width"
Value
=
"120"
/>
<
Setter
Property
=
"IsClearButtonVisible"
Value
=
"False"
/>
<
Setter
Property
=
"IsLastPositionEditable"
Value
=
"False"
/>
<
Setter
Property
=
"SelectionOnFocus"
Value
=
"SelectAll"
/>
</
Style
>
We discussed the issue with the clear button and error message and we think this is a bug in our control, so we scheduled it for the SP next Month. You can track its status here. We also updated your telerik account points.
As for the second question, we have implemented a property that can limit the length of the input. You can read more about it in this article.
Regards,
Pavel R. Pavlov
the Telerik team
Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.
We updated the status of the mentioned PITS item to resolved. Since the type of the Value properties in the MaskedCurrencyInput and MaskedNumericInput are nullable decimal and nullable double, we cannot consider this as a bug in our control. This is a native WPF validation error caused by the fact the ViewModels' properties are not nullable types but are bound to nullable types.
We agree that you haven't used to nullable properties when you used the MaskedTextBox but this is mandatory in the MaskedInput control. However, MaskedInput controls are much more stable and decoupled controls than its predecessor.
Thank you for your understanding.
Petar Mladenov
the Telerik team
Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

We cannot certainly say whether most of our clients use nullable types to bind to or normal types. Many clients want to see empty Mask control when their viewmodel's values are not initialized so they need to bind to nullable types. However, many clients are using custom validation, converters in their bindings or don't use clear button and so on.
We can workaround this in our code but this won't be an elegant solution, having in mind the fact the MaskedInput controls use native WPF/SL validation mechanism and this is a native WPF/SL error.
Petar Mladenov
the Telerik team
Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.
