Хитрость для добавления резиновой ленты заключается в создании динамического прямоугольника на элементе управления изображением при щелчке мыши, например:
private void cMain_MouseLeftButtonDown( object sender, MouseButtonEventArgs e )
{
OriginatingPostionOnCanvas = e.GetPosition( cMain );
RubberBandBox = new Rectangle() { Width = 1,
Height = 1,
Fill = new SolidColorBrush( Colors.Red ),
Opacity = .1 };
RubberBandBox.SetValue( Canvas.LeftProperty, OriginatingPostionOnCanvas.X);
RubberBandBox.SetValue( Canvas.TopProperty, OriginatingPostionOnCanvas.Y );
cMain.Children.Add( RubberBandBox );
}
Затем каждый обрабатывает движения мыши и изменяет размеры прямоугольника в зависимости от ситуации. Более подробную информацию о процессе я описал в своем блоге под названием Silverlight (How To): манипулирование резиновой лентой динамического выделения в C #