DataTable の値を ObservableCollection にバインドし、項目を ListView にバインドしようとしています。
XAML のようなバインドを行うとItemsSource="{Binding Collection}"
、値が表示されませんが、C# コードを使用して値をバインドすると、値が正しく表示されます。
その行動の理由を見つけることができませんでした。解決策を提案してください...
C# コードの場合:
// Declaration of the Observable Collection item.
ObservableCollection<DataTable> _observableCollection = new ObservableCollection<DataTable>();
public ObservableCollection<DataTable> Collection
{
get { return _observableCollection; }
}
C# コードによるデータのバインド:
lstVw.ItemsSource = Collection;
XAML の場合:
<Grid>
<ListView Name="lstVw" ItemsSource="{Binding Path=Collection}" Height="auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ListView.View>
<GridView>
<GridViewColumn Header="OrderID" Width="auto" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Tag="{Binding OrderID}" Content="{Binding OrderID}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="auto" DisplayMemberBinding="{Binding CustomerID}" Header="CustomerID" />
<GridViewColumn Width="auto" DisplayMemberBinding="{Binding ProductID}" Header="ProductID" />
</GridView>
</ListView.View>
</ListView>
</Grid>