作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含两列的 DataTable,我将绑定(bind)到 DataGridComboBoxColumn 的所有 ComboBoxes,其中一列将是项目的文本,其他列将是项目的值。
我知道名为“DisplayMemberPath”的属性是我将列的名称指定为项目的文本的地方,并且必须在“SelectedValuePath”属性中指定它的值。
但是再一次将任何内容绑定(bind)到 DataGridComboBoxColumn 是一个问题,因为它无法访问 DataGrid 的 DataContext。
那么我如何将 DataTable 设置为 DataGridComboBoxColum 的 ItemsSource?
我想要在代码后面工作的示例:
TestClass test = new TestClass();
dataGrid.Columns.Add(new DataGridComboBoxColumn()
{
Header = "City",
DisplayMemberPath = "Cities",
SelectedValuePath = "ID",
ItemsSource = test.Dt.DefaultView,
});
<Window x:Class="WpfApp3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp3
Title="MainWindow" Height="350" Width="600">
<Grid Name="grid1">
<DataGrid Name="dataGrid" AutoGenerateColumns="False" MinColumnWidth="100">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="City" DisplayMemberPath="Cities" SelectedValuePath="ID" ItemsSource="{Binding local:TestClass.Dt}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
public class TestClass
{
public TestClass()
{
(...)
//Here i am loading my DataTable
}
private static DataTable dt;
public static DataTable Dt
{
get { return dt; }
}
}
最佳答案
任何一个,
A.明确设置DataContext
的 ComboBox 到您的 DataTable,或者
B. 如果 DataTable 是您绑定(bind)到 DataGrid 的对象的一部分,请使用 RelativeSource
在 ComboBox 绑定(bind)中。
如果您需要针对这些场景的具体帮助,您将需要发布您的代码。
关于wpf - 我如何将 DataTable 设置为 DataGridComboBoxColum 的 ItemsSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5478057/
我是一名优秀的程序员,十分优秀!