UI 特定属性属于 ViewModel。例如,这是您可以做到的一种方式
public class ClipViewModel
{
private int _size;
public int Size
{
get { return _size; }
set
{
_size = value;
NotifyPropertyChanged("Size");
}
}
public int ModifiedSize
{
get { return Size * 5; }
set
{
Size = value / 5;
}
}
}
然后在您的 XAML 中绑定到ModifiedSize
将更新Size
并执行INotifyPropertyChanged
通知
您可以做的另一件事是跳过该ModifiedSize
属性并使用转换器
public class ModifiedSizeConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
return (int)value * 5;
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
return (int)value / 5;
}
}
然后与Size
转换器绑定
<Slider Value="{Binding Path=Size, Converter={StaticResource modifiedSizeConverter}}" />