Прикрепление изображения к эллипсу программно - PullRequest
1 голос
/ 11 марта 2012

Когда я запускаю этот код, я получаю черный экран, пока не разверну приложение? Кроме того, я не думаю, что это подхватывает файл изображения ни. В Visual Studio я создал новую папку и добавил изображение в эту папку.

public MainWindow()
{
    InitializeComponent();

    Canvas canvas = new Canvas();
    canvas.Width = 300;
    canvas.Height = 300;
    canvas1.Children.Add(canvas);

    Ellipse hand = new Ellipse();
    hand.Height = 30;
    hand.Width = 30;
    /*
    BrushConverter bc = new BrushConverter();
    Brush brush = (Brush)bc.ConvertFrom("Red");
    hand.Fill = new SolidColorBrush(Colors.Red);
    */
    ImageBrush myBrush = new ImageBrush();
    myBrush.ImageSource =
        new BitmapImage(new Uri(@"Images/Hand.png", UriKind.Relative));
    hand.Fill = myBrush;

    Canvas.SetLeft(hand, 100);
    Canvas.SetTop(hand, 100);
    canvas.Children.Add(hand);
}

1 Ответ

3 голосов
/ 11 марта 2012

Есть ли какая-то конкретная причина, по которой вы используете TextureBrush?

Не совсем уверен, но, возможно, вам следует использовать ImageBrush вместо.

ImageBrush myBrush = new ImageBrush();
myBrush.ImageSource = 
    new BitmapImage(new Uri("pack://application:,,,/Images/image.jpg"));
myEllipse.Fill = myBrush;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...