代码之家  ›  专栏  ›  技术社区  ›  MrSpudtastic

替代(过时的)GetValue和SetValue方法

  •  0
  • MrSpudtastic  · 技术社区  · 6 年前

    我正在尝试获取并设置DependencyProperty。DependencyProperty用于描述regex语句的掩码,用于控制文本框中的用户输入。有关代码如下:

    public string Mask
    {
         get { return (string)GetValue(MaskProperty); }
         set { SetValue(MaskProperty, value); }
    }
    
    public static readonly DependencyProperty MaskProperty = 
        DependencyProperty.Register("Mask", typeof(string), typeof(MaskTextBox), new PropertyMetadaa(string.Empty));
    

    每件事 似乎

    看来这个系统。活动名称空间设计为系统的最新替代方案。考虑到这一点,工作流是否有一个系统。GetValue和SetValue方法的替代活动?如果没有,什么是这些方法的有效替代方法?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Patrick Artner    6 年前

    任何应该包含在WPFs绑定机制中的类都需要从 DependencyObject 或其子类之一:

    System.Object
      System.Windows.Threading.DispatcherObject
        System.Windows.DependencyObject
          System.Windows.ContentElement
          System.Windows.Controls.DataGridColumn
          System.Windows.Controls.GridViewColumn
          System.Windows.Controls.Ribbon.Primitives.StarLayoutInfo
          System.Windows.Controls.TextSearch
          System.Windows.Controls.ViewBase
          System.Windows.Data.BindingGroup
          System.Windows.Data.CollectionContainer
          System.Windows.Data.CollectionViewSource
          System.Windows.Freezable
          System.Windows.Ink.GestureRecognizer
          System.Windows.Media.Media3D.Visual3D
          System.Windows.Media.Visual
          System.Windows.Navigation.JournalEntry
          System.Windows.TriggerAction
          System.Windows.TriggerBase
          System.Windows.VisualState
          System.Windows.VisualStateGroup
          System.Windows.VisualStateManager
          System.Windows.VisualTransition
    

    (WPF使用进一步的派生元素来表示WPF,如TextBox等-它们位于UIElement下面/ FrameWorkElement ).

    DependencyObject提供实现DependencyProperty所需的GetValue/SetValue方法。


    您不能简单地将DependencyProperty放在Winforms类中,然后认为它会起作用-您可以这么做,但不会。根本不存在底层管道。