컨텍스트 메뉴에서 선택한 항목을 가져 오기나는 동적 이미지 세트를 생성하고이 같은 스택 패널에 넣어하고
private System.Windows.Controls.ContextMenu GetContextMenu()
{
System.Windows.Controls.MenuItem mi1;
System.Windows.Controls.MenuItem mi2;
System.Windows.Controls.ContextMenu _contextMenu = new System.Windows.Controls.ContextMenu();
mi1 = new System.Windows.Controls.MenuItem();
mi1.Header = "Show Normal Size";
mi1.Click += new RoutedEventHandler(ContextMenuItem1_Click);
mi2 = new System.Windows.Controls.MenuItem();
mi2.Header = "Remove image";
mi2.Click += new RoutedEventHandler(ContextMenuItem2_Click);
_contextMenu.Items.Add(mi1);
_contextMenu.Items.Add(mi2);
return _contextMenu;
}
은 이제 사용자가 올바른 이미지를 클릭하면 선택한 항목을 취득하고자하는 나는이 코드를 가지고있다 -
private void ContextMenuItem2_Click(object sender, RoutedEventArgs e)
{
object obj = e.OriginalSource;
string imageName = ((System.Windows.Controls.Image)obj).Name;
string[] split = imageName.Split('_');
imageUploads.RemoveAt(Convert.ToInt32(split[1]));
DisplayImagesInStackPanel(imageUploads);
}
그러나 obj에는 RoutedEventArgs 이후의 이미지 이름이 포함되어 있지 않습니다. 컨텍스트 메뉴에서 선택한 항목을 가져올 수있는 방법이 있습니까? 여러분의 도움과 의견이 논의 후 시간
WPF를 사용하는 것을 고려하면 정적 콘텐츠로 이미지를 추가하지 말고 이미지 컬렉션에 컨트롤을 바인딩하는 것이 좋습니다. –
안녕하세요. HB 이미지 컨트롤에 컨트롤을 바인딩하면 무엇을 의미하는지 정확히 알 수 있습니까? 당신은 List에 이미지를 넣은 다음 그것을 패널에 바인딩하는 것을 의미합니까? –
Johann
가능한 가장 상위 수준의 클래스를 사용합니다. 즉, ImageSources 또는 URL 목록을 가지고 [DataTemplating] (http://msdn.microsoft.com/en-us/library/ms742521)을 사용하여 이미지를 자동으로 만들 수 있습니다. aspx). 또한 목록이 변경되면 ObservableCollection을 사용하려고합니다. –