Alice 发表于 2016-11-28 11:25:19

CanYou1 发表于 2016-11-28 09:11
Alice,这个问题有进展了吗?

很抱歉没有找到可行的方案。

CanYou1 发表于 2016-11-28 12:25:00

Alice,我现在只需要做到一步就能解决,就是在切换tab时重新触发文本框验证就行,但我就是不知道用什么代码来触发验证,你有办法吗?

Alice 发表于 2016-11-28 16:33:34

CanYou1 发表于 2016-11-28 12:25
Alice,我现在只需要做到一步就能解决,就是在切换tab时重新触发文本框验证就行,但我就是不知道用什么代码 ...

验证是内部的逻辑触发的,我这里也拿不到。

CanYou1 发表于 2016-11-29 10:57:04

Alice 发表于 2016-11-28 16:33
验证是内部的逻辑触发的,我这里也拿不到。

目前我知道的触发验证时机都是用户在文本框内输入东西时,你有没有办法用代码模拟触发输入验证啊?

dexteryao 发表于 2016-11-29 19:20:46

试试获取焦点在丢失焦点?

Alice 发表于 2016-12-1 17:56:41

CanYou1 发表于 2016-11-28 12:25
Alice,我现在只需要做到一步就能解决,就是在切换tab时重新触发文本框验证就行,但我就是不知道用什么代码 ...

之前的思路一直是在控件的机制,想从控件本身入手。
其实这件事情和控件没有任何关系。
是MVVM中的数据源没有实现通知。

数据源需要做处理,代码参考:
    public class Person : IDataErrorInfo, INotifyPropertyChanged
    {
      private string _name;
      public string Id { get; set; }

      public string Name
      {
            get { return _name; }
            set
            {
                _name = value;
            }
      }

      private string _province = string.Empty;
      
      public string Province
      {
            get
            {
                return _province;
            }
            set
            {
                _province = value;
                OnPropertyChanged("Province");
            }
      }

      protected void OnPropertyChanged(String propertyName)
      {
            PropertyChangedEventArgs e = new PropertyChangedEventArgs(propertyName);
            if (PropertyChanged != null)
            {
                PropertyChanged(this, e);
            }
      }

      public string this
      {
            get
            {
                if (string.IsNullOrEmpty(Province))
                  return "省份 必填";
                return string.Empty;
            }
      }

      public string Error { get; private set; }

      public event PropertyChangedEventHandler PropertyChanged;

    }

CanYou1 发表于 2016-12-1 22:19:30

Alice 发表于 2016-12-1 17:56
之前的思路一直是在控件的机制,想从控件本身入手。
其实这件事情和控件没有任何关系。
是MVVM中的数据 ...

谢谢你!但是我按您说的做了后,还是老样子,Tab切回来后红框还是没有,帮忙看下是不是我哪里写得不对,谢谢!
Demo如下:


Alice 发表于 2016-12-2 10:44:36

CanYou1 发表于 2016-12-1 22:19
谢谢你!但是我按您说的做了后,还是老样子,Tab切回来后红框还是没有,帮忙看下是不是我哪里写得不对, ...

我看下给你回复。

Alice 发表于 2016-12-5 17:21:36

CanYou1 发表于 2016-12-1 22:19
谢谢你!但是我按您说的做了后,还是老样子,Tab切回来后红框还是没有,帮忙看下是不是我哪里写得不对, ...

你新发的Demo里的Model和以前的Demo不一样。
我重新在你demo的基础上改好了,Demo如下:

CanYou1 发表于 2016-12-5 17:25:19

Alice 发表于 2016-12-5 17:21
你新发的Demo里的Model和以前的Demo不一样。
我重新在你demo的基础上改好了,Demo如下:

嗯,新发的是按你说的加上了mvvm方式。我晚上看下效果,先谢谢了。
页: 1 [2] 3
查看完整版本: C1TabItem切换后,验证样式没了,怎么办?