加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – wpf验证 – 如何在输入时发生此代码以触发验证(cf离开现场

发布时间:2020-12-16 01:37:59 所属栏目:百科 来源:网络整理
导读:如何进行键入时,我如何获得此代码来触发验证(cf离开字段时).下面的代码在验证方面工作正常,但是在离开字段之前它不起作用(而不是在您键入时). XAML Grid.Resources Style TargetType="{x:Type TextBox}" Style.Triggers Trigger Property="Validation.HasErr
如何进行键入时,我如何获得此代码来触发验证(cf离开字段时).下面的代码在验证方面工作正常,但是在离开字段之前它不起作用(而不是在您键入时).

XAML

<Grid.Resources>
    <Style TargetType="{x:Type TextBox}">
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="True">
                <Setter 
                    Property="ToolTip" 
                    Value="{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}" />
            </Trigger>
        </Style.Triggers>
    </Style>

.
.
.

<TextBox IsEnabled="{Binding ElementName=ProxyModeRadioButton,Path=IsChecked}"
                         Width="Auto" Name="ProxyHostTextBox" VerticalAlignment="Center" MinWidth="150" >
                    <TextBox.Text>
                        <Binding Path="Proxy" >
                            <Binding.ValidationRules>
                                <local:SpecialCharactersRule/> 
                            </Binding.ValidationRules>
                        </Binding>
                    </TextBox.Text>
                </TextBox>

谢谢

解决方法

尝试

<TextBox IsEnabled="{Binding ElementName=ProxyModeRadioButton,UpdateSourceTrigger=PropertyChanged,Path=IsChecked}" Width="Auto" Name="ProxyHostTextBox" VerticalAlignment="Center" MinWidth="150" >
    <TextBox.Text>
        <Binding Path="Proxy" >
            <Binding.ValidationRules>
                <local:SpecialCharactersRule/> 
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>

请注意绑定中的UpdateSourceTrigger = PropertyChanged.

UPDATE

正如下面所述的blindmeis,我把UpdateSourceTrigger放在错误的Binding框中..我的错误.它应该与TextBox.Text一起使用.对于那个很抱歉…

<TextBox IsEnabled="{Binding ElementName=ProxyModeRadioButton,Path=IsChecked}" Width="Auto" Name="ProxyHostTextBox" VerticalAlignment="Center" MinWidth="150" >
    <TextBox.Text>
        <Binding Path="Proxy" UpdateSourceTrigger="PropertyChanged" >
            <Binding.ValidationRules>
                <local:SpecialCharactersRule/> 
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读