gpt4 book ai didi

wpf - 将普通属性转换为依赖属性

转载 作者:行者123 更新时间:2023-12-03 18:03:21 24 4
gpt4 key购买 nike

我有一个用于我的新应用程序的控件。该控件具有这样的常规属性。

    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

这是依赖属性。该属性仍然没有约束力。绑定(bind)的输出窗口中不显示任何错误。
Text="{Binding RelativeSource={RelativeSource Self}, Path=Value, Mode=TwoWay}"

这是我的绑定(bind)方法。我不知道我还能做什么。至少如果有错误,我可以想出一些东西。没有任何错误,我在这里只是一只 headless 鸡。

最佳答案

请参阅以下 url 了解所有依赖项基础知识
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...
}

关于wpf - 将普通属性转换为依赖属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com