ActualWidth
- это свойство только для чтения, предоставляемое классом FrameworkElement -
public double ActualWidth { get; }
Это свойство get only, поэтому вы не можете установить для него другое значение из кода.Вместо этого вы можете привязать к Width вашего элемента управления, чтобы он работал.
EDIT
Это работает для меня, может быть, это то, что вы хотите -
Конвертер
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is double)
{
return ((double)value > 100) ? Visibility.Visible : Visibility.Collapsed;
}
return Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
XAML
<StackPanel>
<Slider x:Name="slider" Height="36" Width="220" Maximum="500"/>
<Rectangle x:Name="mover" Height="12" Stroke="Black" Width="{Binding Value, ElementName=slider}"/>
<Rectangle x:Name="rectangle" Fill="#FFFF9E0E" Height="34" Width="112" Visibility="{Binding ActualWidth, Converter={StaticResource MyConverter}, ElementName=mover, Mode=OneWay}"/>
</StackPanel>