初學者問題。我在我的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