우리 그룹이 학교용 표면 프로젝트를 개발 중이고 우리 모두가이 기술을 처음 사용하고 있습니다. 상황은 다음과 같습니다.버튼 클릭시 ScatterViewItem 제거
우리는 4 개의 표면 버튼이있는 페이지가 있습니다. 사용자가 표면 버튼 중 하나를 클릭하거나 탭하면 팝업 이미지가 나타납니다. 이 응용 프로그램은 다중 사용자 환경을 위해 만들어 졌기 때문에 다른 사용자가 동일한 버튼을 누르면 다른 팝업이 있지만 같은 이미지가 나타납니다. 사용자가 이미지를 보았을 때 닫을 수있는 닫기 버튼이 각 팝업에 있습니다.
버튼을 클릭 할 때마다 캔버스, 그리드 및 ScatterViewItem과 각 ScatterViewItem의 버튼이 만들어집니다.
지금 문제는 각 ScatterViewItem의 닫기 버튼으로 팝업을 닫을 수 있다는 것입니다. 그러나 단 하나의 팝업 인 경우에만 작동합니다. 여러 개의 팝업이있는 경우 버튼은 마지막 팝업 만 닫습니다. 아무도 제안이 없나요? 정말 감사합니다 .
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;
}
답변 해 주셔서 감사합니다. 저는 학생이고 wpf에 대한 경험이 거의 없기 때문에 당신이하고 싶은 말을 정말로 이해하지 못합니다. 제 2의 접근 방법을 설명해 주시겠습니까? – user1507248
나는 xaml하지만 코드 뒤에 있지만이 같은 일을하고 싶다. http://msdn.microsoft.com/en-us/library/ee804980(v=surface.10).aspx 사진이 회색 음영이되는 것 이외에, 나는 그들 자신의 버튼을 클릭하여 각각을 사라지게하고 싶습니다. 하지만 문제는 지금 내가 여러 이미지를 가지고있을 때 마지막 이미지가 작동하지만 이전 이미지가 클릭 이벤트를 잃어 버렸고 다른 이미지 버튼을 탭하더라도 마지막 이미지 만 닫을 때입니다. – user1507248