Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ObservableCollection填充listview时出现问题_C#_Wpf_Listview - Fatal编程技术网

C# 使用ObservableCollection填充listview时出现问题

C# 使用ObservableCollection填充listview时出现问题,c#,wpf,listview,C#,Wpf,Listview,当我按下按钮时,listview不填充。有人能帮我吗? 公共可见收集支票 public ObservableCollection<CheckInData> CheckInCollection { get { return _CheckInCollection; } } public class CheckInData { public string RoomNumber { get; set; }

当我按下按钮时,listview不填充。有人能帮我吗?
公共可见收集支票

    public ObservableCollection<CheckInData> CheckInCollection
    {
        get { return _CheckInCollection; }
    }

    public class CheckInData
    {
        public string RoomNumber { get; set; }
        public decimal Price { get; set; }
        public string Currecny { get; set; }
        public decimal Discount { get; set; }
        public string CheckOut { get; set; }
        public int TotalDay { get; set; }
        public decimal TotalPrice { get; set; }
        public int CheckOutYear { get; set; }
        public int CheckOutMonth { get; set; }
        public int CheckOutDay { get; set; }
        public Boolean IncToday { get; set; }
    }
    private void btnAdd_Click(object sender, RoutedEventArgs e)
    {
        string _CheckOut = "" + datePicker1.SelectedDate.Value.Day.ToString() + "/" + datePicker1.SelectedDate.Value.Month.ToString() + "/" + datePicker1.SelectedDate.Value.Year.ToString() + "";
        int _TotalDays;
        decimal _TotalPrice;
        Boolean _IncToday;

        if (cbIncToday.IsChecked == true)
        {
            _IncToday = true;
            var checkIn = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            var checkOut = new DateTime(datePicker1.SelectedDate.Value.Year, datePicker1.SelectedDate.Value.Month, datePicker1.SelectedDate.Value.Day + 1);

            TimeSpan ts = checkOut - checkIn;
            _TotalDays = Convert.ToInt32(ts.Days);
            _TotalPrice = _TotalDays * Convert.ToDecimal(txtPrice.Text);
        }
        else
        {
            _IncToday = false;
            var checkIn = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            var checkOut = new DateTime(datePicker1.SelectedDate.Value.Year, datePicker1.SelectedDate.Value.Month, datePicker1.SelectedDate.Value.Day);

            TimeSpan ts = checkOut - checkIn;
            _TotalDays = Convert.ToInt32(ts.Days);
            _TotalPrice = _TotalDays * Convert.ToDecimal(txtPrice.Text);
        }

        _CheckInCollection.Add(new CheckInData
        {
            RoomNumber = cbRooms.Text,
            Price = Convert.ToDecimal(txtPrice.Text),
            Currecny = cbCurreny.Text,
            Discount = Convert.ToDecimal(txtDiscount.Text),
            CheckOut = _CheckOut,
            CheckOutYear = datePicker1.SelectedDate.Value.Year,
            CheckOutMonth = datePicker1.SelectedDate.Value.Month,
            CheckOutDay = datePicker1.SelectedDate.Value.Day,
            IncToday = _IncToday,
            TotalDay = _TotalDays,
            TotalPrice = _TotalPrice

        });
    }
public observeablecollection CheckInCollection
{
获取{return\u CheckInCollection;}
}
公共类CheckInData
{
公共字符串RoomNumber{get;set;}
公共十进制价格{get;set;}
公共字符串Currecny{get;set;}
公共十进制折扣{get;set;}
公共字符串签出{get;set;}
公共整数全天{get;set;}
公共十进制总价{get;set;}
公共int签出年份{get;set;}
public int CheckOutMonth{get;set;}
公共int签出日{get;set;}
公共布尔值{get;set;}
}
私有无效btnAdd_单击(对象发送者,路由目标e)
{
字符串_CheckOut=”“+datePicker1.SelectedDate.Value.Day.ToString()+“/”+datePicker1.SelectedDate.Value.Month.ToString()+“/”+datePicker1.SelectedDate.Value.Year.ToString()+”;
整数天;
十进位(总价格);;
布尔!;
if(cbIncToday.IsChecked==true)
{
_IncToday=正确;
var checkIn=new DateTime(DateTime.Now.Year、DateTime.Now.Month、DateTime.Now.Day);
var checkOut=新日期时间(datePicker1.SelectedDate.Value.Year、datePicker1.SelectedDate.Value.Month、datePicker1.SelectedDate.Value.Day+1);
TimeSpan ts=签出-签入;
_TotalDays=转换为32(ts.Days);
_TotalPrice=_TotalDays*Convert.ToDecimal(txtPrice.Text);
}
其他的
{
_IncToday=假;
var checkIn=new DateTime(DateTime.Now.Year、DateTime.Now.Month、DateTime.Now.Day);
var checkOut=新日期时间(datePicker1.SelectedDate.Value.Year、datePicker1.SelectedDate.Value.Month、datePicker1.SelectedDate.Value.Day);
TimeSpan ts=签出-签入;
_TotalDays=转换为32(ts.Days);
_TotalPrice=_TotalDays*Convert.ToDecimal(txtPrice.Text);
}
_CheckInCollection.Add(新的CheckInData
{
RoomNumber=cbRooms.Text,
Price=Convert.ToDecimal(txtPrice.Text),
Currecny=cbCurreny.Text,
折扣=Convert.ToDecimal(txtdepriff.Text),
结帐=\u结帐,
CheckOutYear=datePicker1.SelectedDate.Value.Year,
CheckOutMonth=datePicker1.SelectedDate.Value.Month,
CheckOutDay=datePicker1.SelectedDate.Value.Day,
IncToday=\u IncToday,
TotalDay=\u TotalDays,
总价=_总价
});
}
XAML:

Title=“CheckIn”Height=“473”Width=“682”WindowStartupLocation=“CenterScreen”ResizeMode=“NoResize”DataContext=“{Binding RelativeSource={RelativeSource Self}”>
试试这个

<ListView Margin="8,8,5,1.04" ItemsSource="{Binding Path=CheckInCollection UpdateSourceTrigger = PropertyChanged}">

在ListView元素上,应该将ItemsSource属性绑定到集合,而不是DisplayMemberPath

<ListView Margin="8,8,5,1.04" ItemsSource="{Binding Path=CheckInCollection UpdateSourceTrigger = PropertyChanged}">