You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.6 KiB
85 lines
2.6 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Shapes;
|
|
using ToDoApp.Model;
|
|
using ToDoApp.Service;
|
|
|
|
namespace ToDoApp.SubControl
|
|
{
|
|
/// <summary>
|
|
/// ToDoListItem.xaml에 대한 상호 작용 논리
|
|
/// </summary>
|
|
public partial class ToDoListItem : UserControl
|
|
{
|
|
public Item Item { get; set; }
|
|
|
|
public event EventHandler<Item> ItemUpdateHandler;
|
|
public event EventHandler<Item> ItemRemoveHandler;
|
|
public event EventHandler ItemListRefreshHandler;
|
|
|
|
public ToDoListItem(Item item)
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.Item = item;
|
|
InitInstance();
|
|
}
|
|
|
|
private void InitInstance()
|
|
{
|
|
tbItemName.Text = this.Item.Title;
|
|
ckbFinish.IsChecked = this.Item.IsCompleted == true ? true : false;
|
|
tbIsToday.Visibility = this.Item.IsToday == true ? Visibility.Visible : Visibility.Collapsed;
|
|
}
|
|
|
|
private void miToday_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
this.Item.IsToday = true;
|
|
if (this.ItemUpdateHandler != null)
|
|
this.ItemUpdateHandler(this, this.Item);
|
|
|
|
if (this.ItemListRefreshHandler != null)
|
|
this.ItemListRefreshHandler(this, EventArgs.Empty);
|
|
}
|
|
|
|
private void miFinish_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
this.Item.IsCompleted = true;
|
|
if (this.ItemUpdateHandler != null)
|
|
this.ItemUpdateHandler(this, Item);
|
|
|
|
if (this.ItemListRefreshHandler != null)
|
|
this.ItemListRefreshHandler(this, EventArgs.Empty);
|
|
}
|
|
|
|
private void miDelete_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
if (this.ItemRemoveHandler != null)
|
|
this.ItemRemoveHandler(this, this.Item);
|
|
|
|
if (this.ItemListRefreshHandler != null)
|
|
this.ItemListRefreshHandler(this, EventArgs.Empty);
|
|
}
|
|
|
|
private void ckbFinish_Checked(object sender, RoutedEventArgs e)
|
|
{
|
|
this.Item.IsCompleted = ckbFinish.IsChecked == true ? true : false;
|
|
if (this.ItemUpdateHandler != null)
|
|
this.ItemUpdateHandler(this, Item);
|
|
|
|
if (this.ItemListRefreshHandler != null)
|
|
this.ItemListRefreshHandler(this, EventArgs.Empty);
|
|
}
|
|
}
|
|
}
|
|
|