使用ScrollViewer
Grid
オブジェクト生成後、スクロール機能に
<ScrollViewer x:Name="layoutRoot" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"/>
を有効にする:私はマウスクリックについて知っておく必要があり、多くの場合
private Grid GenerateGrid(int rows, int columns, int cellWidth, int cellHeight)
{
Grid grid = new Grid();
grid.Width = columns * cellWidth;
grid.Height = rows * cellHeight;
for (int i = 0; i < rows; i++)
{
grid.RowDefinitions.Add(new RowDefinition());
}
for (int i = 0; i < columns; i++)
{
grid.ColumnDefinitions.Add(new ColumnDefinition());
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
var cell = new Border();
cell.MouseDown += Cell_MouseDown;
Grid.SetRow(cell, i);
Grid.SetColumn(cell, j);
cell.Background = Brushes.Transparent;
cell.BorderBrush = Brushes.Gray;
cell.BorderThickness = new Thickness(1);
grid.Children.Add(cell);
}
}
return grid;
}
private void Cell_MouseDown(object sender, MouseButtonEventArgs e)
{
var cell = sender as Border; //You can use this object
}
が表示されます。御時間ありがとうございます。私はそれが線を印刷していないのを見て、正しい?もう1つの質問ですが、私はC#の初心者です。私はJava開発者です。このCell_MouseDownは、マウスを押すと自動的に起動されますか?もしそうなら、私はちょうどあなたの素晴らしい例に示すように背景画像を変更することができます:) – eestein
「cell.MouseDown + = Cell_MouseDown;」によって、各セルは 'Cell_MouseDown'イベントを引き起こします。ラインの場合は、各セルにボーダーブラシを設定するだけです。 –
Ok。私がやっていることは私のJavaゲームのマップエディタです。私はちょうどそれを学ぶためにWPFを使用して開発しています。ご協力いただきありがとうございます。宜しくお願いします。 – eestein