TextBox.InputBindings блокирует ввод пользователя - PullRequest
0 голосов
/ 06 мая 2019

Я показываю таймер на TextBox. Когда я нажимаю его, я вызываю метод, который приостанавливает таймер, а затем мне нужно иметь возможность записывать данные в TextBox с помощью клавиатуры (тогда я буду анализировать эти числовые данные в формате чч / мм / сс). Но с блоком TextBox.InputBindings я ничего не могу написать, он блокирует ввод данных пользователем. Как я могу решить это?

<Grid>
    <TextBox Name="textTimeTop" HorizontalAlignment="Left" Height="35" Margin="20,20,0,0"
             TextWrapping="Wrap" VerticalAlignment="Top" Width="120" FontSize="24"
             Text="{Binding TestTimer.TimeFormat, UpdateSourceTrigger=PropertyChanged}">
        <TextBox.InputBindings>
            <MouseBinding Command="{Binding Path=TextBoxPress}" MouseAction="LeftClick"/>
        </TextBox.InputBindings>
    </TextBox>
</Grid>

ViewModel

public class UserInteractiton
{
    public UserInteractiton()
    {
        TextBoxPress = new DelegateCommand(TextBoxGotFocus);
    }

    public ICommand TextBoxPress { get; private set; }

    private void TextBoxGotFocus(object obj)
    {
        TestTimer.StopTimer();
    }
}

1 Ответ

1 голос
/ 06 мая 2019

Попробуйте удалить привязку команды

        private ICommand _TextBoxPress;
        public ICommand TextBoxPress
        {
            get { return _TextBoxPress; }
            set { _TextBoxPress = value; this.NotifyPropertyChanged("TextBoxPress"); }
        }

        private void TextBoxGotFocus(object obj)
        {
            TestTimer.StopTimer();
            TextBoxPress = null;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...