我有一个控件,我用于我的新应用程序.此控件具有常规属性.
Public Property Value() As String Get If AutoCompleteTextBox.SearchText Is nothing Then Return String.Empty Else Return AutoCompleteTextBox.SearchText.ToString.Trim End If End Get Set(value As String) AutoCompleteTextBox.SearchText = value End Set End Property
编辑:
所以,经过多次尝试,我终于到了这个阶段.
Public Shared ValueProperty As DependencyProperty = DependencyProperty.Register("Value",GetType(String),GetType(autocompletebox)) Public Property Value() As String Get Return Me.GetValue(ValueProperty).ToString End Get Set(value As String) Me.SetValue(ValueProperty,value) End Set End Property Public Event PropertyChanged As PropertyChangedEventHandler _ Implements INotifyPropertyChanged.PropertyChanged
这是依赖属性.此属性仍然没有约束力.输出窗口中没有显示绑定错误.
Text="{Binding RelativeSource={RelativeSource Self},Path=Value,Mode=TwoWay}"
解决方法
有关所有依赖性基础知识,请参阅以下URL
http://www.wpftutorial.net/dependencyproperties.html
http://www.wpftutorial.net/dependencyproperties.html
基本上,您可以通过提供FrameworkPropertyMetadata来获取依赖项属性的属性更改事件.
new FrameworkPropertyMetadata( [Default Value],OnCurrentTimePropertyChanged);
您可以在事件处理程序中取回目标控件(DependencyObject)并在那里实现您的逻辑
private static void OnCurrentTimePropertyChanged(DependencyObject source,DependencyPropertyChangedEventArgs e) { AutoCompleteTextBox control = source as AutoCompleteTextBox; string time = (string)e.NewValue; // Put some update logic here... }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。