2012-05-04 31 views
0
<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <TextBox Name="myTxt" Text="{Binding}" /> 
    </Grid> 
</Window> 

namespace WpfApplication1 
{ 

    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 

      InitializeComponent(); 
      DataContext = "fdfsfds"; 
     } 
    } 
} 

我想知道爲什麼這段代碼不工作?它引發一個異常。我應該怎麼做綁定文本框?WPF中的DataContext拋出異常

回答

3

TextBox.Text屬性的默認Binding - 是TwoWay

「雙向綁定需要路徑或XPath。」

所以,你可以使用OneWayBinding

<Grid> 
    <TextBox Name="myTxt" Text="{Binding Mode=OneWay}" /> 
</Grid> 
+0

非也!說實話,我不知道。僅限TextBox的雙向綁定默認值?還是爲了所有的控制? – Alexandre

+0

我認爲msdn知道得更好:)'TwoWay'是'TextBox.Text'屬性的默認值,根本不用於控制。我已經編輯答案。 – stukselbax

1

如果您仍想結合TwoWay你可以使用此代碼:

<TextBox Name="myTxt" Text="{Binding Path=DataContext, RelativeSource={RelativeSource Self}}" />