Я пытаюсь нарисовать нестатический (высота переменной ширины x y) заполненный прямоугольник в WPF. У меня есть опыт работы с Winforms, но я никогда раньше не использовал WPF. Это то, что я сделал бы в WinForm с помощью вызовов GDI +.Программный рисунок рисования нестатического прямоугольника
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillRectangle(_brush1, _rect1);
}
А также, я бы назвал this.Invalidate()
всякий раз, когда я меняю _rect1
свойства.
Все «учебные пособия», которые я видел по этому вопросу, рисуют только статические незаполненные прямоугольники внутри файлов .xaml
(или они не упоминают, где код показывает шоу ...).
Я знаю, что работа с WPF по-разному работает, я просто не понимаю, как это сделать. Я нашел similar methodprotected override void OnRender(DrawingContext dc)
и попытался добавить это к классу по умолчанию, который я получил, когда сделал свой проект public partial class MainWindow : Window
, но на экране ничего не рисуется. Еще одна вещь, которая касается меня, заключается в том, что класс DrawingContext
имеет только класс DrawRectangle
и нет FillRectangle
.
Как я могу сделать что-то подобное эффективно?
Как я могу получить доступ к моему холсту с кодом? и как будет заполняться прямоугольник? – dimitris93
'Rectangle' имеет свойства, такие как' Fill' и 'Stroke', которые определяют цвета. Связанный вопрос имеет хорошие примеры, хотя, если вы новичок в WPF, многие вещи там, вероятно, смутят вас. К сожалению, что вы пытаетесь сделать, это не самая легкая вещь в WPF. – vesan