1
背景ImageBrushのサイズに合わせたキャンバスがあります。キャンバスサイズを背景にイメージサイズにバインドするImageBrush
ここで問題となるのは、コントロールがインスタンス化されてから、イメージが渡されてImageBrushとして割り当てられることです。もう1つの障害は、WPFとSilverlightの両方に対してこのコントロールを行い、ImageBrushが異なる(つまり、イベントを共有しない)ということです。
編集:
<UserControl x:Class="Escalon.Annotations.AnnotationControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="400" Width="500" >
<ScrollViewer Name="ctlScrollViewer" HorizontalScrollBarVisibility="Auto" Height="400" Width="500">
<Canvas Name="ctlSizingCanvas" >
<Canvas Name="ctlCanvas" Loaded="ctlCanvas_Loaded" Height="400" Width="500"
MouseLeftButtonDown="MouseLeftButtonDownHandler" MouseMove="Canvas_MouseMove" MouseLeftButtonUp="Canvas_MouseLeftButtonUp" >
<Canvas.RenderTransform>
<ScaleTransform x:Name="ctlZoomTransform" />
</Canvas.RenderTransform>
<Canvas.Background>
<ImageBrush ImageSource="{Binding Source}" Stretch="UniformToFill" ></ImageBrush>
</Canvas.Background>
</Canvas>
</Canvas>
</ScrollViewer>
</UserControl>
問題は、私は、私が高さと幅を持っていないImageBrush制御を、使用している、Imageコントロールを使用していない、です。
XAMLを表示できますか?おそらくCanvasの 'Height' /' Width'を画像の 'ActualHeight' /' ActualWidth'にバインドすることができます – Rachel
こんにちは、グリッドの代わりにCanvasを使う特別な理由はありますか?前者は画像の大きさによってサイズが決まります。 –
私はこのコントロールを使って、マウスでさまざまなコントロールを描画しています。 – PhilBrown