ユーザーがマウスをダブルクリックすると、キャンバス上で四角形を移動しています。コードにバグがあり、四角形が画面からはみ出してしまいます。どうすればそれを防ぐことができますか?
ここに私のXAMLがあります:
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" SnapsToDevicePixels="True" BorderThickness="1" ScrollViewer.HorizontalScrollBarVisibility="Visible" WindowStyle="ToolWindow" MouseDoubleClick="mouse_dblClick">
<Canvas Height="350" Width="525" SnapsToDevicePixels="True">
<Rectangle Canvas.Left="100" Canvas.Top="10" x:Name="Rect" Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="47" Stroke="Black" VerticalAlignment="Top" Width="247" Margin="128,182,0,0" RenderTransformOrigin="-2.021,-1.247"/>
</Canvas>
<Window.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="#FF51AC3D" Offset="1"/>
</LinearGradientBrush>
</Window.Background>
</Window>
ここに私のC#コードがあります:
private void mouse_dblClick(object sender, MouseButtonEventArgs e)
{
this.Title = string.Format("{0}",e.GetPosition(this).ToString());
Canvas.SetLeft(this.Rect, e.GetPosition(this).Y);
Canvas.SetTop(this.Rect, e.GetPosition(this).X);
}