2011-07-29 5 views
0

안녕하세요 저는 Layout이라는 이름의 캔버스를 가지고 있습니다. 코드 뒤에 자식을 추가하고 싶습니다. 여기에 코드가 있습니다.동적으로 추가 된 컨트롤이 렌더링되지 않습니다. 실버 라이트

private void AddItem(int TruePosition, int CurrentPosition, string ImageFileName) 
{ 
    Image img = new Image(); 
    img.Source = new BitmapImage(new Uri(@"/Images/" + ImageFileName, UriKind.Relative)); 
    img.Width = 100.0; 
    img.Height = 400.0; 
    img.VerticalAlignment = System.Windows.VerticalAlignment.Bottom; 
    img.Stretch = Stretch.None; 

    Border b = new Border(); 
    b.SetValue(Canvas.TopProperty, 200.0); 
    b.SetValue(Canvas.LeftProperty, (double)CurrentPosition); 
    b.SetValue(Canvas.ZIndexProperty, 1); 
    b.Background = new SolidColorBrush(Colors.Blue); 

    b.MouseMove += new MouseEventHandler(Border_MouseMove); 
    b.MouseLeftButtonDown += new MouseButtonEventHandler(Border_MouseLeftButtonDown); 
    b.MouseLeftButtonUp += new MouseButtonEventHandler(Border_MouseLeftButtonUp); 

    b.Child = img; 
    Layout.Children.Add(b); 
    UpdateLayout(); 
} 

이미지가없는 테두리 만 추가하려고하면 여전히 렌더링되지 않으므로 Uri 이미지가 좋을 것입니다. 또한 단추 클릭 이벤트 처리기에서이 AddItem 함수를 호출하여 초기화가 문제가되지 않도록해야합니다. 아마 나는 여기에 아주 기본적인 것들을 놓치고 있습니다. 어떤 아이디어라도 환영합니다, 도와 주셔서 감사합니다.

업데이트 : 브라우저 캐시에 문제가 있습니다. 테두리가 추가되었지만 테두리의 이미지가 표시되지 않습니다. Visual Studio 프로젝트에는 이미지 파일이있는 이미지 디렉토리가 있습니다. 나는 그들에게 잘못된 길을 설정하고 있습니까?

+0

제대로 작동합니다. 첫 번째/이전 이미지는 필요하지 않습니다. 새로운 Uri (@ "이미지 /"+ ImageFileName, UriKind.Relative)가 정확합니다. – rescueme

답변

0

이제 답변 드리겠습니다. 글쎄 그건 초보자 실수 였어. 첫 번째/이전 이미지는 필요하지 않습니다. 새로운 Uri (@ "이미지 /"+ ImageFileName, UriKind.Relative)가 정확합니다.

관련 문제