Guten Abend
bin gerade dabei, meine erste selbst geschriebene AttachedProperty from scratch zu machen und scheint soweit auch zu stimmen, aber ich bekomme da einen Fehler, mit dem ich nix anfangen kann und im Netz find ich da zwar was, aber das ist etwas anders als bei mir.
Und zwar möchte ich vom ViewModel an die CaretPosition (also die Cursorposition) einer Textbox rankommen und bekomme dabei diesen Fehler:
Der Standardwerttyp stimmt nicht mit dem Typ der Eigenschaft "CaretPosition" überein.
...und das hier wird rot unterstrichen:
Ich weiss leider nicht, wo ich da suchen muss.
Hier mein XAML:
Hier die Attached Property:
Kann mir da jemand auf die Sprünge helfen?
bin gerade dabei, meine erste selbst geschriebene AttachedProperty from scratch zu machen und scheint soweit auch zu stimmen, aber ich bekomme da einen Fehler, mit dem ich nix anfangen kann und im Netz find ich da zwar was, aber das ist etwas anders als bei mir.
Und zwar möchte ich vom ViewModel an die CaretPosition (also die Cursorposition) einer Textbox rankommen und bekomme dabei diesen Fehler:
Der Standardwerttyp stimmt nicht mit dem Typ der Eigenschaft "CaretPosition" überein.
...und das hier wird rot unterstrichen:
viewmodel:CaretPositionHelper.CaretPosition="0"
Ich weiss leider nicht, wo ich da suchen muss.
Hier mein XAML:
Hier die Attached Property:
VB.NET-Quellcode
- Option Strict On
- Imports System.Windows
- Imports System.Windows.Controls
- Public Class CaretPositionHelper
- Inherits DependencyObject
- Private Shared MainModule As Services.IZentraleKlasse = Services.ServiceContainer.GetService(Of Services.IZentraleKlasse)
- Public Shared Function GetCaretPosition(ByVal element As TextBox) As Integer
- If element Is Nothing Then
- Throw New ArgumentNullException("element")
- End If
- Return CInt(element.GetValue(CaretPositionProperty))
- End Function
- Public Shared Sub SetCaretPosition(ByVal element As TextBox, ByVal value As Integer)
- If element Is Nothing Then
- Throw New ArgumentNullException("element")
- End If
- element.SetValue(CaretPositionProperty, value)
- End Sub
- Public Shared ReadOnly CaretPositionProperty As _
- DependencyProperty = DependencyProperty.RegisterAttached("CaretPosition",
- GetType(Integer), GetType(CaretPositionHelper),
- New UIPropertyMetadata("", AddressOf CaretPositionChanged))
- Private Shared Sub CaretPositionChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
- Dim obj As TextBox = TryCast(d, TextBox)
- AddHandler obj.SelectionChanged, Sub(sender, e2)
- MainModule.CaretPositionDateiNamenRegeln = obj.SelectionStart
- Debug.WriteLine(obj.SelectionStart)
- End Sub
- End Sub
- End Class
Kann mir da jemand auf die Sprünge helfen?