2009-03-01 4 views

답변

17

귀하의 질문에 다소 불분명하지만 첨부 된 속성 Canvas.Left에 바인딩하고 TextBox에 표시하는 방법을 묻는 것 같습니다. TextBox가 아닌 다른 컨트롤을 원한다고 가정합니다.

<Canvas> 
    <TextBox x:Name="textBox" Text="{Binding ElementName=button, Path=(Canvas.Left)}" /> 
    <Button x:Name="button" Content="Press me" /> 
</Canvas> 

첨부 된 속성을 둘러싸는 괄호에주의하십시오.

편집 :

Binding binding = new Binding(); 
binding.Source = button; 
binding.Path = new PropertyPath(Canvas.LeftProperty); 
textBox.SetBinding(TextBlock.TextProperty, binding); 
+1

예제 코드에서와 같이 코드 바인딩이 작동하지 않습니다. 세 번째 줄은 과 같아야합니다. binding.Path = new PropertyPath (Canvas.Left); – Matze

+0

감사합니다. 그러나 코드 비헤이비어마다 정확하게 C#마다 검색합니다. WPF 당 방법을 알고 있습니다. – Taladan

-3

예, 캔버스에는 왼쪽 속성이 없습니다 : 사용하는 다음, 코드에서 해당 작업을 수행합니다. Canvas Content의 FrameworkItem에 대한 연결된 속성입니다.

<Canvas Width="100" Height="100"> 
    <TextBox Name="top" Canvas.Left="12"></TextBox> 
</Canvas> 
+2

이것은 전혀 대답하지 않습니다. – trapicki

관련 문제