C# 如何在XAML中使用动态分配的表名进行绑定?
我只是(再次)意识到我不理解WPF中的绑定。 我使用以下构造将表绑定到数据网格(这发生在窗口中): 以及XAML的相关部分:C# 如何在XAML中使用动态分配的表名进行绑定?,c#,wpf,xaml,binding,C#,Wpf,Xaml,Binding,我只是(再次)意识到我不理解WPF中的绑定。 我使用以下构造将表绑定到数据网格(这发生在窗口中): 以及XAML的相关部分: <DataGrid ItemsSource="{Binding producer}" // (2) ...// other properties /> 因为这很好用,所以我现在想对这段代码进行泛化,这样我也可以将它用于其他表。也就是说,我想用(1)和(2)分别标记的行中的字符串变量tableName替换固定字符串“producer”。它的内容在
<DataGrid ItemsSource="{Binding producer}" // (2)
...// other properties
/>
因为这很好用,所以我现在想对这段代码进行泛化,这样我也可以将它用于其他表。也就是说,我想用(1)和(2)分别标记的行中的字符串变量tableName
替换固定字符串“producer”
。它的内容在(2)中。这里是我遇到的问题:如何在(2)中定义这个绑定?我试图使tableName
成为Window类的属性,但在XAML中,我得到了一个错误,即“IEnumerable的类型转换器不支持从字符序列进行转换”(我将最后一条语句翻译为德语形式,因此它可能与英语形式不完全匹配)
我真的可以在XAML中这样做,还是需要以编程方式定义绑定?所有表的结构都相同吗?如果不这样做,您在DataGrid中的特定绑定将无法工作。无论如何,在“adapter.Fill”行中,您可以选择指定自己的名称,因此保留名为“dataTable”的绑定,只更改基础SQL查询,但始终将结果映射到“dataTable”。嗯,是的,这就可以了。愚蠢的我…谢谢你。到目前为止,这应该一次只用于一张桌子。当我使用不同结构的表时,为什么会出现问题?
<DataGrid ItemsSource="{Binding producer}" // (2)
...// other properties
/>