0

画像がクリックされたときに画像を変更したいというマウスダウンイベントを備えたコントロールがあります。しかし、イベント内の画像のプロパティを変更することはできないようです。

イベント

    private void Image_MouseDown(object sender, MouseButtonEventArgs e)
    {
        BitmapImage bitImg = new BitmapImage();
        bitImg.BeginInit();
        bitImg.UriSource = new Uri("./Resource/Images/Bar1.png", UriKind.Relative);
        bitImg.EndInit();

        ((Image)sender).Source = null;
        ((Image)sender).Width = 100;
        ((Image)sender).Visibility = Visibility.Hidden;
    }

イベントは発生し、.Visibilityプロパティでさえ画像を変更して非表示にすることはありません。

私は何が間違っているのですか?

4

1 に答える 1

1

ファイルがアプリケーションにあると仮定すると、 Pack URI スキームを使用する必要があります。

        var img = sender as Image;
        BitmapImage bmp = new BitmapImage(new Uri("pack://application:,,,/Resources/Images/Bar1.png"));
        img.Source = bmp;

上記の例では、Resources/Images のプロジェクト内のサブフォルダーを示します。

于 2009-08-07T14:53:02.780 に答える