여러 날 동안 검색을 차단했기 때문에 포기하고 조언을 요청합니다.DataTemplate의 종속성 개체의 DP에 제어를 묶는 바인딩
<TextBox x:Name="FilterValueTextBox"
Grid.Column="1"
BorderThickness="1"
BorderBrush="{Binding TextBoxBorderBrush}"
VerticalAlignment="Stretch"
IsEnabled="{Binding FilterTypeValid}"
Background="{Binding TextBoxBackgroundBrush}"
VerticalContentAlignment="Stretch"
Text="{Binding RawText}"
SnapsToDevicePixels="True">
<controls:OnScreenKeyboardControl.KeyboardDescriptor>
<controls:KeyboardDescriptor TextBoxRef="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1, AncestorType={x:Type TextBox}}}" />
</controls:OnScreenKeyboardControl.KeyboardDescriptor>
</TextBox>
KeyboardDescriptor 유형 TextBox
의 종속성 속성 "TextBoxRef"
를 포함하는 DependencyObject
입니다 :
나는 다음과 같은 DataTemplate을 수 있습니다.
정확히이 메커니즘은 데이터 형식 내에서 바인딩이 발생해야하는이 특별한 경우를 제외하고는 내 응용 프로그램의 모든 곳에서 작동합니다.
처음에는 시각적 또는 논리적 트리의 일부가 아니므로 ELementName 및 RelativeSource Binding이 실패해야한다는 수십 개의 기사를 읽었습니다.
분명히 나는 이것을 확실하게 확인할 수있었습니다. 위와 같이 "양방향 바인딩 (이 경우 기본값)은 경로 또는 x- 경로가 필요합니다"라는 템플릿 인스턴스화에 예외가 발생합니다. ... 위의 바인딩 시도가 없으면 예외는 사라지지만 물론 연결 고리는 확립되지 않았다.
내 질문은 다음과 같습니다. 어떻게 든 들어있는 TextBox를 propertie의 DP에 연결된 키보드 설명자에 대한 참조로 전달할 수 있습니까?