2009-03-01 83 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 2010-04-15 14:28:46

+0

謝謝ageektrapped。 但我按照每個代碼隱藏的方式搜索,完全按照C#。我知道每個WPF的方式。 – Taladan 2011-01-17 18:46:06

-3

是,畫布沒有左屬性。它是Canvas Content中的FrameworkItem的附加屬性。

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