0
Path path = new();
path.Data = Geometry.Parse("M0,0 L8,8 M8,0 L0,8");
path.StrokeThickness = 3;

ControlTemplate controlTemplate = new() { Template = /*template*/ };

Button button = new() { Template = controlTemplate };

как мне создать Template на основе path (что вписать вместо /*template*/)?

kuschanow
  • 132
  • 10
  • 2
    Вы игнорируете самую важную часть WPF, а именно XAML! У вас не должно быть вообще работы с контролами в C# коде, ведь это ответственность именно XAML. Поэтому, я вам очень сильно советую научиться пользоваться привязками и XAML разметкой, ибо сейчас вы делаете дикий костыль, который повлияет на все аспекты проекта (от скорости, до удобства). – EvgeniyZ Nov 27 '21 at 18:12
  • я знаю что в теории можно создать template в XAML и потом подвязать его через c# но опять же не нашел на эту тему ничего путного. – kuschanow Nov 27 '21 at 18:14
  • 1
    Где вы увидели в XAML и потом подвязать его через c# во фразе У вас не должно быть вообще работы с контролами в C# коде? Еще раз повторю, у вас не должно быть в C# коде вообще создание контролов, стилей, кнопочек, всяких myTextBox.Text = "Text"; и так далее, этому попросту не место в C#, этому место в XAML. – EvgeniyZ Nov 27 '21 at 18:21
  • А что делать если вся суть в динамическом создании объектов? Или этого можно избежать, тогда подскажите, пожалуйста, как? Скорее всего я упускаю какую-то важную особенность WPF. – kuschanow Nov 27 '21 at 18:24
  • Смотря, какая динамика. Если просто вывод данных из массива, то привязываете ItemsControl (или его производные ListBox и др.), делаете контролу нужный стиль, все, готово. Если динамика прям вообще динамика, а-ля "по координатам 100х30 кидаем кнопку", то тут зависит от того, как и что хотите, по сути также привязка ItemsControl к объекту с координатами. – EvgeniyZ Nov 27 '21 at 18:27
  • У меня динамика открытия и закрытия вкладок в TabControl, при этом в заголовке каждой вкладки должна находиться кнопка закрытия вкладки. Может можно создать в XAML шаблон для этого и применять его ко всем вкладкам в приложении? Наверное это уже не особо связанно с изначальной темой. – kuschanow Nov 27 '21 at 18:33
  • А чем вкладки отличаются от кнопок в ItemsControl?) К примеру вот я отвечал, полноценный пример динамичных вкладок, которые привязаны к простой коллекции, да еще и "крестик" закрытия имеют) Заметьте, ни единого контрола в C# коде. – EvgeniyZ Nov 27 '21 at 18:36

0 Answers0