WPF中的DataContext引发异常 命名空间WpfApplication1 { 公共部分类主窗口:窗口 { 公共主窗口() { 初始化组件(); DataContext=“fdfsfds”; } } }

WPF中的DataContext引发异常 命名空间WpfApplication1 { 公共部分类主窗口:窗口 { 公共主窗口() { 初始化组件(); DataContext=“fdfsfds”; } } },wpf,data-binding,Wpf,Data Binding,我想知道为什么这个代码不起作用?它抛出一个异常。如何绑定textBox?对于textBox.Text属性,默认的Binding是TwoWay “双向绑定需要路径或XPath。” 因此,您可以使用单向绑定: <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://s

我想知道为什么这个代码不起作用?它抛出一个异常。如何绑定textBox?

对于
textBox.Text
属性,默认的
Binding
TwoWay

“双向绑定需要路径或XPath。”

因此,您可以使用单向绑定:

<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";
        }
    }
}

文本框的默认
绑定
。Text属性是
双向

“双向绑定需要路径或XPath。”

因此,您可以使用单向绑定:

<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";
        }
    }
}

如果您仍然需要双向
绑定,您可以使用以下代码:

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

如果您仍然需要双向
绑定,您可以使用以下代码:

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


当然!老实说,我不知道。仅TextBox默认为双向绑定吗?或者对于所有控件?我认为msdn更清楚:)
TwoWay
TextBox.Text
属性的默认值,而不是控件的默认值。我已经编辑了答案。当然!老实说,我不知道。仅TextBox默认为双向绑定吗?或者对于所有控件?我认为msdn更清楚:)
TwoWay
TextBox.Text
属性的默认值,而不是控件的默认值。我已经编辑了答案。