2011-07-29 112 views
0

你好,我有一個名稱佈局的畫布。我想在後面的代碼中添加一些孩子。這是代碼。動態添加控件不渲染,silverlight

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(); 
} 

圖像烏里可能是一件好事,因爲如果我嘗試只添加邊框(無圖像),它仍然沒有渲染。此外,我從按鈕單擊事件處理程序調用此AddItem函數,所以初始化應該不成問題。可能我在這裏錯過了一個非常基本的東西。歡迎任何想法,感謝您的幫助。

更新:好吧,我有可能瀏覽器緩存有問題,邊框被添加,但邊框中的圖像沒有顯示出來。在Visual Studio項目中,我有一個圖像目錄與圖像文件。我是否設置了錯誤的路徑?

+0

得到它的工作。第一張/之前不需要圖片。新的Uri(@「Images /」+ ImageFileName,UriKind.Relative)是正確的。 – rescueme

回答

0

所以,現在我被允許回答它。那是一個新手的錯誤。 第一張/之前不需要圖片。新的Uri(@「Images /」+ ImageFileName,UriKind.Relative)是正確的。