私はWPFが初めてで、このコードを使用してユニフォームグリッドをグリッドで埋めています。
public MainWindow()
{
InitializeComponent();
SolidColorBrush defaultBrush = new SolidColorBrush(Colors.Wheat);
SolidColorBrush alternateBrush = new SolidColorBrush(Colors.Black);
Char L = 'A';
int N = 1;
for (int i = 0; i < 64; i++)
{
Grid cell = new Grid();
if(N==9)
{
N=1;
L++;
}
if ((i + i / 8) % 2 == 0)
{
cell.Name = L + N.ToString();
cell.Background = defaultBrush;
ChessBoard.Children.Add(cell);
}
else
{
cell.Name = L + N.ToString();
cell.Background = alternateBrush;
ChessBoard.Children.Add(cell);
}
N++
}
次に、ChessBoard と呼ばれる均一なグリッドをクリックしたときに、特定のグリッドの名前を見つけようとしています。
private void ChessBoard_MouseLeftButtonDown(object sender, MouseButtonEventArgs args)
{
var element = (UIElement)args.Source;
element.Opacity = 0.5;
}
不透明度の線は、正しいグリッド上にあることを確認するためのテストであり、クリックするとグリッドの不透明度が機能して変更されます。
助けが必要なのは、要素の Name 属性を見つけることです。