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; namespace BPASmartClient.CustomResource.UserControls { /// /// MotorBottle.xaml 的交互逻辑 /// public partial class MotorBottle : UserControl { public MotorBottle() { InitializeComponent(); } private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { (d as MotorBottle)?.Refresh(); } private void Refresh() { bottle.CurrentValue = this.CurrentValue; VisualStateManager.GoToState(this, IsRun ? "Start" : "Stop", false); } public bool IsRun { get { return (bool)GetValue(IsRunProperty); } set { SetValue(IsRunProperty, value); } } public static readonly DependencyProperty IsRunProperty = DependencyProperty.Register("IsRun", typeof(bool), typeof(MotorBottle), new PropertyMetadata(false, new PropertyChangedCallback(OnPropertyChanged))); //public bool IsRun //{ // get { return (bool)GetValue(IsRunProperty); } // set { SetValue(IsRunProperty, value); } //} //public static readonly DependencyProperty IsRunProperty = // DependencyProperty.Register("IsRun", typeof(bool), typeof(MotorBottle), // new PropertyMetadata(0, new PropertyChangedCallback(OnPropertyChanged))); public double CurrentValue { get { return (double)GetValue(CurrentValueProperty); } set { SetValue(CurrentValueProperty, value); } } public static readonly DependencyProperty CurrentValueProperty = DependencyProperty.Register("CurrentValue", typeof(double), typeof(MotorBottle), new PropertyMetadata(0.0, new PropertyChangedCallback(OnPropertyChanged))); } }