0
내 실버 라이트 응용 프로그램에서 런타임에 이러한 작업을 수행하기 위해 노력하고있어 실버 라이트 이미지 컨트롤에의 ContextMenu를 추가 :런타임
1은 그 중 하나에 대한 사용자 지정의 ContextMenu를 정의 이미지 2의 목록을 만들 내 코드 다음과 같이 :
void AddImageViewerToGridCells(Grid g)
{
for (int i = 1; i <= g.RowDefinitions.Count; i++)
for (int j = 1; j <= g.ColumnDefinitions.Count; j++)
{
var b = new Image();
b.Source = new BitmapImage(new Uri(@"Drop.jpg", UriKind.Relative));
b.SetValue(Image.NameProperty, "img" + i.ToString() + "_" + j.ToString());
b.Stretch = Stretch.Fill;
b.SetValue(Grid.RowProperty, i-1);
b.SetValue(Grid.ColumnProperty, j-1);
b.MouseRightButtonDown += b_MouseRightButtonDown;
g.Children.Add(b);
}
}
void b_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
Image img = (Image)sender;
ContextMenu cm = new ContextMenu();
MenuItem mi1 = new MenuItem();
mi1.Header = "Add To List";
mi1.Click += mi1_Click;
cm.Items.Add(mi1);
MenuItem mi2 = new MenuItem();
mi2.Header = "Remove From List";
cm.Items.Add(mi2);
ContextMenuService.SetContextMenu(img, cm);
}
부 ContextMenu가 보이지 않습니다. DependencyObject를 SetContextMenu 메서드에 전달해야한다는 것을 알기 때문에 (다만 추측에 따라) 런타임 컨트롤은 종속성 개체가 아닙니다. 어떤 도움
감사 나 응답하지 않습니다에 대한