1
我是一個WPF小白,我希望不要再有那麼一天(笑)非工作WPF綁定
不管怎麼說,我有問題的DataTable(從一個OleDbDataAdapter獲得)綁定到一個DataGrid。即使DataTable不爲空,我在DataGrid上也什麼都沒有,它只有在我手動設置代碼隱藏的ItemsSource屬性時才起作用。幫幫我? [我想這樣做是自動的,所以對網格所做的任何更改都會反映到DataTable中,使我能夠使用OleDBCommandbuilder更新Access數據庫本身(是的,我很懶惰:))。我想延長數據表來實現INotifyCollectionChanged但林不知道這是做-能的:S]
XAML:
<Grid>
<DataGrid Grid.Column="0" Grid.ColumnSpan="2" x:Name="ListaArticulos"
Padding="-5,0,0,0" AutoGenerateColumns="False" ItemsSource="{Binding Articulos}">
<DataGrid.Columns>
<DataGridTextColumn IsReadOnly="True" Width="Auto" Header="ID" Binding="{Binding ID}"/>
<DataGridTextColumn Header="Nombre Articulo" Binding="{Binding Nombre}"/>
<DataGridTextColumn Header="Categoria" Binding="{Binding Categoria}"/>
<DataGridTextColumn Header="Valor" Binding="{Binding Valor}"/>
<DataGridTextColumn Header="Cantidad" Binding="{Binding Cantidad}" />
<DataGridTextColumn Header="Color" Binding="{Binding Color}" />
<DataGridTextColumn Header="Material" Binding="{Binding Material}" />
<DataGridTextColumn Header="Referencia" Binding="{Binding Referencia}" Width="*"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
代碼隱藏:
public DataTable _Articulos = new DataTable();
public DataTable Articulos { get { return _Articulos; } }
public MainWindow()
{
InitializeComponent();
ListaArticulos.DataContext = this;
ReadDB();
}
ReadDB()更新Articulos DB。
在此先感謝。
我已成功地使實現INotifyChanged增加它的每個事件的相關行的PropertyChangedEventHandler一個電話,再次一個DataTable類,我在初始數據網格上沒有任何提示...爲什麼? – Machinarius 2010-12-03 14:44:17
如果需要,DataContext應該實現INotifyPropertyChanged接口,而不是ItemsSource。 – Matthieu 2010-12-03 15:27:29