2009-03-01 31 views

Trả lời

17

Có phần không rõ ràng từ câu hỏi của bạn, nhưng tôi nghĩ bạn đang hỏi cách liên kết với thuộc tính đính kèm Canvas.Left và hiển thị nó trong một TextBox. Tôi sẽ giả sử bạn muốn nó cho một điều khiển khác với TextBox.

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

Lưu ý các dấu ngoặc xung quanh thuộc tính đính kèm.

EDIT: Để thực hiện điều tương đương trong mã, sử dụng như sau:

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

Ràng buộc mã không hoạt động như trong mã mẫu. Dòng thứ ba nên đọc như binding.Path = new PropertyPath (Canvas.Left); – Matze

+0

Cảm ơn ageektrapped. Nhưng tôi tìm kiếm một cách cho mỗi codebehind, chính xác cho mỗi C#. Tôi biết cách thức cho mỗi WPF. – Taladan

-3

Vâng, một canvas không có người sở hữu trái. nó là thuộc tính đính kèm cho một FrameworkItem trong Nội dung Canvas.

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

Điều này không trả lời được câu hỏi nào cả. – trapicki

Các vấn đề liên quan