在我的 MAUI 应用程序中,我使用滑块来设置计时器。用户可以通过将滑块滑动到适当的位置来设置所需的时间。一旦计时器启动,我想防止用户减少设置的时间,直到计时器完成倒计时。这可确保计时器在用户最初设置的整个持续时间内不间断地运行。我如何在我的 MAUI 应用程序上执行此操作?
用户应该能够使用滑块增加计时器。限制只是减少计时器。
下面是XAML页面添加的Slider代码:
<Slider
x:Name="watchme_slider"
Grid.Column="1"
BackgroundColor="White"
MinimumTrackColor="#1c98d7"
MaximumTrackColor="#9a9a9a"
ThumbImageSource="ic_thumb_xx.png"
ValueChanged="SliderValueChanged"
Maximum="0.166666667"
Minimum="0"
HorizontalOptions="FillAndExpand"/>
您可以为当前页面的视图模型创建一个属性(例如
public bool InputTransparent
)并为其实现接口INotifyPropertyChanged
。然后就可以将它绑定到Slider的属性InputTransparent
上。
例如:
public class MyViewModel : INotifyPropertyChanged
{
private bool _inputTransparent;
public bool InputTransparent
{
set
{
SetProperty(ref _inputTransparent, value);
}
get { return _inputTransparent; }
}
bool SetProperty<T>(ref T storage, T value, [CallerMemberName] string propertyName = null)
{
if (Object.Equals(storage, value))
return false;
storage = value;
OnPropertyChanged(propertyName);
return true;
}
protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public event PropertyChangedEventHandler PropertyChanged;
}