2017-05-18 13 views
0

貨物料金のデータをアメリカの金額($ 23.45など)で入力します。彼らはRadWatermarkTextboxとして設定する場合は、23.45はこれらのステップスルー行かずに入力することはできません23.45RadWatermarkTextboxでのデータの書式設定

を入力します。私は、StringFormat = F2 StringFormat = '00#' にフォーマットを変更し

1) Enter 23 
2) Use the arrow key to navigate to the cents (skip over the decimal point) 
3) Enter 45 (.00 shifts over to the right making it look like $23.45.00) 
4) Delete the .00 

、および文字列形式ではありません。これらは問題を解決しませんでした。

この提案はオンラインでは見つかりましたが、小数点を入力できませんでした。入力可能なのはFreightRateのための2345

Private Sub txtDefaultFreightRate_PreviewTextInput(sender As Object, e As TextCompositionEventArgs) Handles txtDefaultFreightRate.PreviewTextInput 

    Dim regex As New Regex("^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$") 
    e.Handled = Not regex.IsMatch(TryCast(sender, System.Windows.Controls.TextBox).Text.Insert(TryCast(sender, System.Windows.Controls.TextBox).SelectionStart, e.Text)) 

    For Each ch As Char In e.Text 
     If Not ([Char].IsDigit(ch) OrElse ch.Equals("."c)) Then 
      e.Handled = True 
     End If 
    Next 

End Sub 

XAMLです:期待通りにお金が作品のようにデータを入力し、WPFのテキストボックスに変更した場合は

<telerik:RadWatermarkTextBox x:Name="txtDefaultFreightRate" 
    Margin="0,2,0,0" 
    Text="{Binding defaultFreightRate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat='{}{0:C2}'}" 
    <telerik:RadWatermarkTextBox.WatermarkContent> 
     <TextBlock Text="Enter in format $$$.$$ " FontSize="12" Foreground="#969696" /> 
    </telerik:RadWatermarkTextBox.WatermarkContent> 
</telerik:RadWatermarkTextBox> 

。 XAMLの場合:

<TextBox Text="{Binding defaultFreightRate, Mode=TwoWay, StringFormat='{}{0:C2}'}" Width="100" Height="25" /> 

RadWatermarkTextBoxでデータ入力をフォーマットすることはできませんか?私はこれについて多くのオンラインを見つけることはありません。書式設定は通常のテキストボックスと同じであると仮定しました。

おかげ

答えて

1

UpdateSourceTrigger=PropertyChangedを削除するようにしてください:

<telerik:RadWatermarkTextBox x:Name="txtDefaultFreightRate" 
          Margin="0,2,0,0" 
          Text="{Binding defaultFreightRate, Mode=TwoWay, StringFormat='{}{0:C2}'}"> 
    <telerik:RadWatermarkTextBox.WatermarkContent> 
     <TextBlock Text="Enter in format $$$.$$ " FontSize="12" Foreground="#969696" /> 
    </telerik:RadWatermarkTextBox.WatermarkContent> 
</telerik:RadWatermarkTextBox> 
+0

感謝。それが問題を解決しました。 – EManning