using FurnaceUI.Views.Recipes;
using System;
using System.Collections.Generic;
using System.ComponentModel;
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;
namespace FurnaceUI.Controls
{
///
/// PaginationList.xaml 的交互逻辑
///
partial class SlotsList : UserControl, INotifyPropertyChanged
{
public List Items
{
get { return (List)GetValue(ItemsProperty); }
set { SetValue(ItemsProperty, value); }
}
public static readonly DependencyProperty ItemsProperty =
DependencyProperty.Register("Items", typeof(List), typeof(SlotsList), new PropertyMetadata(null, new PropertyChangedCallback(RenderUpdateByPropertyChanged)));
public bool IsListEnable
{
get { return (bool)GetValue(IsListEnableProperty); }
set { SetValue(IsListEnableProperty, value); }
}
public static readonly DependencyProperty IsListEnableProperty =
DependencyProperty.Register("IsListEnable", typeof(bool), typeof(SlotsList), new UIPropertyMetadata(true, new PropertyChangedCallback(RenderUpdateByPropertyChanged)));
public int CurrentItemIndex
{
get { return (int)GetValue(CurrentItemIndexProperty); }
set { SetValue(CurrentItemIndexProperty, value); }
}
public static readonly DependencyProperty CurrentItemIndexProperty =
DependencyProperty.Register("CurrentItemIndex", typeof(int), typeof(SlotsList), new PropertyMetadata(-1, new PropertyChangedCallback(RenderUpdateByPropertyChanged)));
public SlotsList()
{
InitializeComponent();
}
public void UpdateSlotsList()
{
list.ItemsSource = Items;
//list.IsEnabled = IsListEnable;
}
public event PropertyChangedEventHandler PropertyChanged;
public static void RenderUpdateByPropertyChanged(DependencyObject dependency, DependencyPropertyChangedEventArgs e)
{
if (dependency is SlotsList hslThermometer)
{
hslThermometer.UpdateSlotsList();
}
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Button btn = sender as Button;
CurrentItemIndex = (int)btn.Tag;
}
}
}