C# 文本框绑定

C# 文本框绑定,c#,wpf,binding,C#,Wpf,Binding,我正在尝试将TextBox绑定到对象属性,但无法使其工作 我试过这两种用法,但都不起作用: <TextBox Name="textBoxZbozi" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Margin="1" VerticalContentAlignment="Center" Text="{Binding Path=Artikl_CODE, ElementName=vybranyRadek}" />

我正在尝试将
TextBox
绑定到对象属性,但无法使其工作

我试过这两种用法,但都不起作用:

 <TextBox Name="textBoxZbozi" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Margin="1" 
          VerticalContentAlignment="Center" Text="{Binding Path=Artikl_CODE, ElementName=vybranyRadek}" />

 <TextBlock Name="textBlockArtikl" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Margin="1" 
          Text="{Binding Path=vybranyRadek.Artikl_NAME}" TextWrapping="Wrap" />
Radek
class:

public class Radek
    {
        public bool ZASKRTNUTO { get; set; }
        public string ID { get; set; }
        public string Artikl_ID { get; set; }
        public string Artikl_NAME { get; set; }
        public string Artikl_CODE { get; set; }
        public string Sarze_ID { get; set; }
        public string Sarze_NAME { get; set; }
        public string Sarze_POPIS { get; set; }
        public string Umisteni_ID { get; set; }
        public string Umisteni_NAME { get; set; }
        public double Mnozstvi { get; set; }
        public string Jednotka { get; set; }
}

vybranyRadek
应该创建并填充一些数据。这是我分配数据的方式:

Radek temp = ((Radek)dataGrid.SelectedItem);
viewModel.VybranyRadek = temp;
我哪里出错了?

试试看

<TextBox Name="textBoxZbozi" Text="{Binding VybranyRadek.Artikl_CODE}" />

请注意WPF绑定区分大小写。

请尝试

<TextBox Name="textBoxZbozi" Text="{Binding VybranyRadek.Artikl_CODE}" />

请注意WPF绑定是区分大小写的。

首先,您在绑定中使用了“vybranyRadek”,但这是成员名称。你必须使用“VybranyRadek”。第二个问题是,在第一个绑定中使用了“ElementName”。如果包含该属性的ViewModel是两个文本块的DataContext,则不必使用它。只需使用:

<TextBox Name="textBoxZbozi" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Margin="1" 
             VerticalContentAlignment="Center" Text="{Binding VybranyRadek.Artikl_CODE}" />

<TextBlock Name="textBlockArtikl" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Margin="1" 
               Text="{Binding VybranyRadek.Artikl_NAME}" TextWrapping="Wrap" />

首先,您在绑定中使用了“vybranyRadek”,但这是成员名称。你必须使用“VybranyRadek”。第二个问题是,在第一个绑定中使用了“ElementName”。如果包含该属性的ViewModel是两个文本块的DataContext,则不必使用它。只需使用:

<TextBox Name="textBoxZbozi" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Margin="1" 
             VerticalContentAlignment="Center" Text="{Binding VybranyRadek.Artikl_CODE}" />

<TextBlock Name="textBlockArtikl" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Margin="1" 
               Text="{Binding VybranyRadek.Artikl_NAME}" TextWrapping="Wrap" />


您在哪里分配datacontext,是否分配了它?对不起,我没有包括它,但是
this.datacontext=viewModel
窗口中
构造函数
vybranyRadek
应该是第一个大写字母
vybranyRadek
在哪里分配datacontext,您分配了它吗?对不起,我没有包括它,但是
this.datacontext=viewModel
窗口中
构造函数
vybranyRadek
应该是第一个大写字母
vybranyRadek
谢谢,这是大写字母感谢,这是大写字母感谢回答,这是第一个大写字母感谢回答,这是第一个大写字母