初学者问题。我在我的WPF表单中有以下XAML
。Datagrid列标题值丢失
<DataGrid x:Name="GridTable"
ItemsSource="{Binding GridDataSource}"
HorizontalGridLinesBrush="#FFE2E2E2"
VerticalGridLinesBrush="#FFE2E2E2"
CanUserAddRows="False"
CanUserResizeColumns="True"
Margin="10,140,214,10"
SelectionChanged="GridTableSelectionChanged" >
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="{Binding Selection}" ></DataGridCheckBoxColumn>
<DataGridTextColumn Header="{Binding XmlFile}"></DataGridTextColumn>
<DataGridTextColumn Header="{Binding Result}"></DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.Resources>
<Style TargetType="DataGridCell">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
</Style>
</DataGrid.Resources>
</DataGrid>
视图模型代码
public string Selection
{
get { return "Selection"; }
}
public string XmlFile
{
get { return "Xml File"; }
}
public string Result
{
get { return "Result"; }
}
private DataTable CreateDataSource()
{
var dt = new DataTable();
var dc = new DataColumn(Selection, typeof(bool));
dt.Columns.Add(dc);
dc = new DataColumn(XmlFile, typeof(string));
dt.Columns.Add(dc);
dc = new DataColumn(Result, typeof(string));
dt.Columns.Add(dc);
return dt;
}
我使用这个数据表作为源为我网在其填充数据后。
我希望当我运行我的应用程序时,我应该能够看到一个数据网格,其中包含标题Selection
,XmlFile
和Result
作为每个绑定值的3列。但我看到的只是没有列的网格。任何人都可以帮助我理解这是什么错误?
另外我想附加一个数据源GridDataSource
到网格。该数据表有3列与网格列和一些相关数据具有相同的名称。当我在数据表中加载一些数据并通知它查看时,我发现已经存在3个空列,然后是我的数据表的更多3列。任何人都可以帮助我理解我的代码有什么问题。让我知道你是否需要更多信息。
编辑
而且我注意到,当我的AutoGenerateColumns
标记设置为true,那么我看到3分空列沿着我的DataGrid中的数据表的另外3列。当AutoGenerateColumns标签设置为false时,我看不到任何数据,只能看到3个空列。
您可以发布底层VM吗?在调试窗口中是否收到了任何'BindingExpression'错误? – DHN
看到编辑......午餐一小时:) – Sandy
享受你的午餐 - 有什么关于'BindingExpression'错误? – DHN