Вопрос для начинающих. У меня есть XAML
в моей форме WPF.Недопустимы значения заголовка столбца 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>
ViewModel Код
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;
}
Я использую этот DataTable в качестве источника для моей сетки после заполнения данных в нем.
Я ожидаю, что когда я запустил приложение, я смогу увидеть datagrid с тремя столбцами с заголовками Selection
, XmlFile
и Result
как значения привязки. Но я вижу только сетку без столбцов. Может ли кто-нибудь помочь мне понять, что в этом плохого?
Также я хочу подключить источник данных GridDataSource
к сетке. В этом datatable есть 3 столбца с одинаковыми именами, как столбцы сетки и некоторые связанные данные. Когда я загружаю некоторые данные в datatable и уведомляю их о просмотре, я вижу уже присутствующие 3 пустых столбца, а затем еще 3 столбца моего datatable. Может ли кто-нибудь помочь мне понять, что не так с моим кодом. Дайте мне знать, если вам нужна дополнительная информация.
Редактировать
Также я заметил, когда мой AutoGenerateColumns
тег установлен верно, то я вижу дополнительные 3 колонки моего DataTable в DataGrid вместе с 3-х пустых столбцов. И когда тегу AutoGenerateColumns` установлено значение false, я не вижу никаких данных и вижу только 3 пустых столбца.
вы можете разместить основной VM, пожалуйста? Вы получаете ошибки 'BindingExpression' в вашем окне отладки? – DHN
см. Редактирование .... на обед в течение часа :) – Sandy
Наслаждайтесь своим обедом - что случилось с ошибками 'BindingExpression'? – DHN