WPF/C#で教えてもらいたいのですが。
今WPF,C#を学習中でして、見よう見まねで、リストにObservableCollectionなるものを使用してサンプルデータを表示しようとしています。
ですが、何が悪いのか、リストにデータが表示されません。
どのように修正すればよいのか、教えてもらえないでしょうか。
以下のコードになりますが、よろしくお願いします。
(MainWindow.xaml)
'
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1" d:DataContext="{d:DesignInstance Type=local:MainWindowViewModel}"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<ListView x:Name="SystemLog" HorizontalAlignment="Left" Width="550"
ItemsSource="{Binding DATEList}" Margin="0,30,0,40">
<ListView.View>
<GridView>
<GridViewColumn Width="500">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Item.Date, ConverterCulture=en-US}" FontSize="16" HorizontalAlignment="Left"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
'
(MainWindowViewModel.cs)
'using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
namespace WpfApp1
{
class MainWindowViewModel:INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private ObservableCollection<Item> _dategList = new ObservableCollection<Item>();
public MainWindowViewModel()
{
_dategList.Clear();
_dategList.Add(new Item() { Date = DateTime.ParseExact("2021/03/14", "yyyy/MM/dd", null) });
_dategList.Add(new Item() { Date = DateTime.ParseExact("2021/03/15", "yyyy/MM/dd", null) });
_dategList.Add(new Item() { Date = DateTime.ParseExact("2021/03/16", "yyyy/MM/dd", null) });
}
public ObservableCollection<Item> DATEList
{
get
{
return _dategList;
}
set
{
_dategList = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(DATEList)));
}
}
} public class Item { public DateTime Date { get; set; } }
}
'
(MainWindow.xaml.cs)
'
using System;
using System.Windows;
namespace WpfApp1
{
public partial class MainWindow : Window
{
private MainWindowViewModel vm;
public MainWindow()
{
InitializeComponent();
vm = new MainWindowViewModel();
this.DataContext = vm;
}
}
}
'
========
回答1件
あなたの回答
tips
プレビュー