ScrollViewer
WPFプロジェクトでを使用していますが、そのコンテンツに苦労しています。このSVが含まれているウィンドウには他にも多くのUIアイテムがScrollViewer
あり、SVゾーンの外、または少なくとも他の要素の背後に表示されないように画像をスクロールさせたいと思います。
これはSVを使用した私のコードです(はい、グリッド内にあります):
<Grid Name="mainGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200*" />
<ColumnDefinition Width="802*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30*" />
<RowDefinition Height="500*" />
<RowDefinition Height="199*" />
</Grid.RowDefinitions>
<ScrollViewer Grid.Row="1" Grid.ColumnSpan="2" Name="map" Margin="0,0,0,0" PanningMode="Both" HorizontalScrollBarVisibility="Visible" Background="DarkGray" ClipToBounds="True">
<WindowsFormsHost Name="windowsFormsHost1" Cursor="Cross" HorizontalAlignment="Left" VerticalAlignment="Top" ClipToBounds="True" />
</ScrollViewer>
</grid>
もう1つの問題は、マウスを置いたまま画像をスクロールしたいということです。そのままでは、マウスがの空の領域にある場合にのみスクロールしScrollViewer
ます。
これは背後にあるコードの一部です:
public MainWindow()
{
InitializeComponent();
//Creation of the map
Map newMap = new Map();
newMap.setMapStrategy(new SmallMapStrategy());
newMap.createMap();
//Put the map in the PB as an image
System.Windows.Forms.PictureBox pictureBox = new System.Windows.Forms.PictureBox();
pictureBox.Width = newMap.grid.Count * 2; pictureBox.Height = newMap.grid.Count * 2;
newMap.afficher(pictureBox);
windowsFormsHost1.Width = newMap.grid.Count * 2; windowsFormsHost1.Height = newMap.grid.Count * 2;
windowsFormsHost1.Child = pictureBox;
}