당신이 사용하려고 할 수 있습니다
<Setter Property="SomeProperty" Value="{Binding Path=(lcl:MyClass.MyString), RelativeSource={RelativeSource self}}"/>
당신의 연결된 속성은 스타일과 요소에 적용합니다. 그렇지 않은 경우 RelativeSource 또는 ElementName을 사용하여 적절한 요소를 찾을 수 있습니다.
코드에 세부 사항이 없으므로 어떻게 작성했는지 확신 할 수 없습니다. 아래 코드가 작동합니다 :
<UserControl.Resources>
<Style x:Key="LabelStyle" TargetType="{x:Type Label}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Content"
Value="{Binding Path=(TestWebBrowser:AttachP.ValueEditorState), RelativeSource={RelativeSource self}}"/>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<StackPanel>
<Label x:Name="label" TestWebBrowser:AttachP.ValueEditorState="HelloWorld" Style="{StaticResource LabelStyle}"/>
<Button Content="Disable Label" Click="Button_Click"/>
</StackPanel>
버튼의 클릭 이벤트 핸들러는 트리거를 트리거하기 위해 Label의 IsEnabled를 false로 설정합니다. 그리고 바인딩에서 괄호와 함께 Path =를 사용해야합니다.
우선, 'RelatedSource'가 아닌'RelativeSource'입니다. 둘째로, 이것은 효과가 없습니다. –
네, 그것은 RelativeSource 여야합니다, 저의 실수. 첨부 된 속성을 적용하는 객체를 알아야합니다. 스타일이나 컨트롤 템플릿에 상관없이, 당신이해야 할 일은 그 객체로 이동하는 것입니다. –
나는 그것을했다. .. –