saimanisha Ответов: 1

Как работать с командами в WPF, подключаясь к viewmodel в WPF?


вот приведенный ниже код, который я написал для textbox, когда я теряю фокус на нем, он должен работать и проверять валидацию с помощью idataerrorinfo.without using command if i bind viewmodel its working for evry change of element ie..каждый раз, когда он собирается в фоновый код .вот как работать с командой .после потери фокуса на этом элементе управления он должен проверить правильность проверки.

Что я уже пробовал:

 <TextBox Grid.Row="2" Name="MN" Grid.Column="1" Width="200" Height="30" DataContext="{StaticResource ViewModel}"
Text="{Binding Mobilenumber,Mode=TwoWay}" >
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="LostFocus">
                    <i:InvokeCommandAction Command="{Binding Mobilenumber}" CommandParameter="{Binding ElementName=MN,Path=Text}" >

                    </i:InvokeCommandAction>
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </TextBox>

1 Ответов

Рейтинг:
1

Graeme_Grant

Вам не нужны команды, чтобы сделать это, привязка сделает это за вас. Привязка текстового поля настроена (по умолчанию) для обновления модели представления при потере фокуса.

Вы можете прочитать больше здесь: [^]


saimanisha

я использовал приведенный ниже код для привязки, но стиль, который мы применили для отображения содержимого ошибки и символа s=error, применяется даже тогда, когда мы не запускаем окно.
<TextBox Grid.Row="3" Grid.Колонка="1" Ширина="200" Высота="30" Значение DataContext="{Привязки Источник={Расширение StaticResource Модель Представления}}"
Текст="{путь привязки=Emailid,режим=с двусторонним движением,ValidatesOnDataErrors=правда,UpdateSourceTrigger=PropertyChanged, как}" /&ГТ;

Graeme_Grant

Это другая проблема по сравнению с заданным вопросом. Вопрос был о потере фокуса, а не о валидации. Пожалуйста, закройте этот вопрос и начните новый.

saimanisha

не могли бы вы ответить на вопрос, что у меня есть aske dabout validation, когда окно не работает .