2011-07-29 54 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(); 
} 

私は境界線(画像なし)を追加しようとするとまだレンダリングされていないので、画像Uriはおそらく良いです。また、ボタンのクリックイベントハンドラからこのAddItem関数を呼び出して、初期化を問題にしないでください。おそらく、私はここに非常に基本的なものがありません。どんなアイディアも大歓迎です、ありがとうございます。

更新:おそらくブラウザキャッシュに問題がありました。境界が追加されていますが、境界線の画像が表示されません。 Visual Studioプロジェクトでは、画像ファイルを持つ画像ディレクトリがあります。私は彼らへの道を間違って設定していますか?

+0

これは機能しています。最初/前の画像は必要ありません。新しいUri(@ "Images /" + ImageFileName、UriKind.Relative)は正しいです。 – rescueme

答えて

0

だから、今私はそれに答えることができます。それは初心者の間違いでした。 最初/前の画像は必要ありません。新しいUri(@ "Images /" + ImageFileName、UriKind.Relative)は正しいです。

関連する問題