3
我是MVVM和數據綁定的新手,我在動態綁定gridview到數據表時遇到了一些麻煩。我能夠獲得列標題綁定,但沒有數據顯示在網格中。MVVM gridview綁定到數據表WPF
我的模型簡單地返回一個數據表作爲傳遞給它的SQL字符串的結果。 我的viewmodel只是包裝數據表,並綁定到視圖。
現在我只是試圖通過從主窗口填充gridview顯示數據,但只有標題顯示。
我知道模型中有數據。結果雖然datatable。
我的視圖模型:
public class ResultsViewModel
{
private DataTable _dt;
public ResultsViewModel()
{
DataSource _ds = new DataSource();
_dt = _ds.Execute("select * from tbl_users");
}
public DataTable Results
{
get { return _dt; }
set { _dt = value; }
}
}
我的代碼來填充從主窗口在GridView:
public MainWindow()
{
InitializeComponent();
ResultsView view = new ResultsView();
ResultsViewModel model = new ResultsViewModel();
GridView Grid = new GridView();
foreach (DataColumn col in model.Results.Columns)
{
Grid.Columns.Add(new GridViewColumn
{
Header = col.ColumnName,
DisplayMemberBinding = new Binding(col.ColumnName)
});
}
view._listView.View = Grid;
view.DataContext = model;
view.SetBinding(ListView.ItemsSourceProperty, new Binding());
_placeholder.Content = view;
}
的ResultsView XAML:
<UserControl x:Class="InDevReporting.Views.ResultsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<ListView x:Name="_listView" />
</Grid>
啊,這很有道理......感謝您的幫助! – ChandlerPelhams
@ChandlerPelhams,很高興幫助。 :) –