private void txtNumber_PasteCommand(object sender, ExecutedRoutedEventArgs e)
{
string _copiedText = Clipboard.GetText();
_copiedText = _copiedText.Replace("\n", " ").Replace("\r", "").Replace("'", "").Replace("\"", "") + " ";
if (!string.IsNullOrEmpty(txtNumber.SelectedText))
{
txtNumber.SelectedText = _copiedText;
}
else
{
txtNumber.Text += _copiedText;
txtNumber.Select(txtNumber.Text.Length, 1);
txtNumber.ScrollToEnd();
txtNumber.Focus();
}
}
3 Réponses :
private string textData;
public string TextData { get => textData; set => textData = SplitText(value,10); }
Il fonctionne pour Copy Coller mais je veux prendre un espace lorsque j'entrerai le numéro
Pas à chaque fois le nombre de collants quelque temps que je tape le numéro que cela ne prendra pas de place
Pouvez-vous s'il vous plaît ajouter du code pour l'événement txtnumber_textChanged
Je l'ai utilisé mais ça ne peut pas travailler pouvez-vous me donner un code complet, je pense que je ne vous obtiens pas
Quel défi que vous êtes confronté?
Avez-vous utilisé une interface toofinyPropertyChanged?
Laissez-nous Continuez cette discussion en chat .
Je résolvez cela mon auto
private void txtNumber_KeyDown(object sender, KeyEventArgs e)
{
try
{
int pos = 0;
int len = txtNumber.Text.Length;
string s = txtNumber.Text;
while (true)
{
if (pos >= len) break;
if (space == s[pos] && (((pos + 1) % 11) != 0 || pos + 1 == s.Length))
{
s.Remove(pos, pos + 1);
txtNumber.Select(txtNumber.Text.Length, 1);
txtNumber.ScrollToEnd();
txtNumber.Focus();
}
else
{
pos++;
}
}
pos = 10;
while (true)
{
if (pos >= len) break;
char c = s[pos];
if (char.IsDigit(c))
{
s = s.Insert(pos, "" + space);
txtNumber.Text = s;
}
pos += 11;
txtNumber.Select(txtNumber.Text.Length, 1);
txtNumber.ScrollToEnd();
txtNumber.Focus();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
I solve this using KeyDown event
Veuillez inclure le code que vous utilisez dans
txtnumber_pastecommand code>Mais quand je copierais et coller, il a de l'espace mais seulement lorsque je suis entré dans un numéro, il ne prendra pas de place.