私のグループは、学校向けの表面プロジェクトを開発していますが、私たちは皆、この技術にまったく慣れていません。状況は次のとおりです。
4 つのサーフェス ボタンがあるページがあります。ユーザーがサーフェス ボタンの 1 つをクリックまたはタップすると、ポップアップ イメージが表示されます。このアプリはマルチユーザー環境向けに作られているため、別のユーザーが同じボタンをタップすると、同じ画像の別のポップアップが表示されます。ユーザーが画像を見終わったときにポップアップを閉じるために、各ポップアップに閉じるボタンがあります。
ボタンがクリックされるたびに、キャンバス、グリッド、ScatterViewItem、および各 ScatterViewItem のボタンが作成されます。
私が今抱えている問題は、各 ScatterViewItem の閉じるボタンでポップアップを閉じることができることです。ただし、ポップアップが 1 つだけの場合にのみ機能します。複数のポップアップがある場合、ボタンは最後のポップアップのみを閉じます。誰か提案はありますか?本当に感謝 。前もって感謝します
以下はコードです:
private void btn1_Click(object sender, RoutedEventArgs e)
{
Image imageControl = new Image();
Grid grid = new Grid();
// changing to popup from image control
Canvas cv1 = new Canvas();
cv1.ClipToBounds = true;
cv1.Width = 350;
cv1.Height = 350;
cv1.SetValue(Canvas.BackgroundProperty, new SolidColorBrush(Colors.Transparent));
Image imageControl1 = new Image();
var myBitmapImage1 = new BitmapImage();
myBitmapImage1.BeginInit();
myBitmapImage1.UriSource = new Uri("/Images/btn1.jpg", UriKind.Relative);
myBitmapImage1.EndInit();
imageControl1.Source = myBitmapImage1;
imageControl1.Width = 250;
imageControl1.Height = 250;
Button sb1 = new Button();
sb1.Content = "Close";
sb1.Width = 40;
sb1.Height = 40;
imageControl1.SetValue(Canvas.TopProperty, -40.0);
sb1.SetValue(Canvas.LeftProperty, 180.0);
sb1.SetValue(Canvas.TopProperty, 2.0);
sb1.Click +=new RoutedEventHandler(Close_Click);
cv1.Children.Add(imageControl1);
cv1.Children.Add(sb1);
grid.Children.Add(cv1);
App.svi = new ScatterViewItem();
App.svi.Content = grid;
sv.Items.Add(App.svi);
App. svi.Visibility = System.Windows.Visibility.Visible;
Surfaceapp1.Show();
}
public void Close_Click(object sender, RoutedEventArgs e)
{
Button srcButton = e.Source as Button;
App.svi.Visibility = System.Windows.Visibility.Collapsed;
}