0
일반 clr 속성에 바인딩 할 수없는 제한 사항을 극복하려고합니다.WPF 종속성 속성이 인식되지 않습니다.
내가 사용하는 솔루션은 차례로 clr 속성을 변경하는 사용자 지정 종속성 속성을 사용합니다.
여기에 코드
class BindableTextBox : TextBox
{
public static readonly DependencyProperty BoundSelectionStartProperty = DependencyProperty.Register("BoundSelctionStart", typeof(int), typeof(BindableTextBox),
new PropertyMetadata(new PropertyChangedCallback(BindableTextBox.onBoundSelectionStartChanged)));
private static void onBoundSelectionStartChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
((TextBox)d).SelectionStart = (int)e.NewValue;
}
private static readonly DependencyProperty BoundSelectionLenghtProperty = DependencyProperty.Register("BoundSelectionLenght", typeof(int), typeof(BindableTextBox),
new PropertyMetadata(new PropertyChangedCallback(BindableTextBox.onBoundSelectionLenghtChanged)));
private static void onBoundSelectionLenghtChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
((TextBox)d).SelectionLength = (int)e.NewValue;
}
public int BoundSelectionStart
{
get { return (int)GetValue(BoundSelectionStartProperty); }
set { SetValue(BoundSelectionStartProperty, value); }
}
public int BoundSelectionLenght
{
get { return (int)GetValue(BoundSelectionLenghtProperty); }
set { SetValue(BoundSelectionLenghtProperty, value); }
}
}
입니다하지만 BoundSelectionStart에 바인딩 뭔가하려고 할 때 그것이 나는 단지 DP에 결합 할 수 있다고 말한다.
<bindable:BindableTextBox Text="{Binding Name}" BoundSelectionStart="{Binding ElementName=slider1, Path=Value}" />
무엇이 문제인가?
"길이"를 여러 곳에서 "길이"로 잘못 입력했습니다. – user200783
고마워, 나 자신에게 안경 한 켤레를 사야한다 :) – kamilw