0

我有这个 WPF 滑块:

<Slider Height="22" HorizontalAlignment="Left" Width="100" TickPlacement="BottomRight" AutoToolTipPlacement="BottomRight" TickFrequency="1" Minimum="10" Maximum="110" Value="{Binding Path=Zoom, Mode=TwoWay}" Ticks="100"/>

和我后面的 c# 代码

public object Zoom
{
    get { return _zoom.ToString() }
    set
    {
        try
        {
            string zoom = value.ToString().Replace(",", ".");
            if (zoom.EndsWith(" %"))
            {
                _zoom= System.Convert.ToInt32(System.Convert.ToInt64(zoom));
            }
            OnPropertyChanged("CurrentZoom");
        }
        catch (FormatException ex)
        {
            //TODO: =)
        }
    }
}

_zoom 中怎么可能只存储整数?我不需要十进制数。

例如:

缩放为“13,99999”

_zoom 应该是 13 (int)

_zoom= System.Convert.ToInt32(System.Convert.ToInt64(zoom));

所以我得到这个错误:

对于 Int32,值太大或太小。

怎么了?

4

2 回答 2

0

这会将 Decimal 值返回到点/小数的 LEFT。

计算指定十进制数的整数部分。

 Math.Truncate(zoom)

更多信息

于 2012-05-08T08:37:56.377 回答
0
_zoom = (int)Math.Round(System.Convert.ToDouble(zoom));
于 2012-05-14T10:30:32.893 回答