반응형

Code Behind에서 Event에서 입력 제한

txbTest.PreviewTextInput += TxbTest_PreviewTextInput;

PreviewTextInput 이벤트 에서 Regex를 이용하여 입력된 text에 대해서 제한

 

private void TxbTest_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    // 정수만 입력 받고 싶을때
    Regex regex = new Regex("[^0-9]+");
    e.Handled = regex.IsMatch(e.Text);
}
private void TxbTest_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    // 실수만 입력 받고 싶을때
    if (e.Text == "." && txbTest.Text.Contains("."))
    {
        e.Handled = true;
        return;
    }
    Regex regex = new Regex("[^0-9.]+");
    e.Handled = regex.IsMatch(e.Text);
}

 

Data Binding을 이용하여 제한

<TextBox x:Name="txbTest" HorizontalAlignment="Left" Height="19" TextWrapping="Wrap" 
         Text="{Binding TestValue, Mode=TwoWay , UpdateSourceTrigger=PropertyChanged, StringFormat={}{##.##}}" 
         VerticalAlignment="Top" Width="92"/>
public double TestValue { get; set; }
반응형

+ Recent posts