Я просто пытаюсь создать простой Symbol/Geometry/Control и изменить и повторно использовать его в нескольких местах в одном окне.
Пример: черный квадрат с окружностью посередине.
Затем круг должен меняться между красным и зеленым (аналогично однокрасочному стоп-сигналу). Работа с изображениями будет работать. Я пытаюсь разрешить его как ресурс Window, но я не отключаюсь.
Идея: я пишу ее в ресурс, здесь я пытаюсь использовать Canvas:
<Window.Resources>
<Canvas x:Key="Ampel">
<Rectangle Fill="Black" HorizontalAlignment="Left" Height="52" Stroke="Black" VerticalAlignment="Top" Width="50"/>
<Ellipse x:Name="RedGreen" Fill="Red" HorizontalAlignment="Left" Height="27" Margin="11,12,0,0" Stroke="Black" VerticalAlignment="Top" Width="28" RenderTransformOrigin="0.214,0.256"/>
</Canvas>
</Window.Resources>
Затем я хотел бы поместить его внутри Grid или панели, но как мне это сделать?
<Canvas x:Name="RedGreen1" Height="50" Width="50" DataContext="{DynamicResource Ampel}" />
Это не возвращает ошибку компилятора, но ничего не показывает в окне. Он также не работает с WrapPanel или чем-либо еще.
И если это сработает, как я могу ссылаться на него в коде, чтобы изменить цвет круга. Что-то вроде RedGreen1.RedGreen.Fill=Brushes.Green
?
Я читал статьи о стоп-сигналах. Действительно ли необходимо создать UserControl или есть способ решить его с помощью window.resources?
Общая идея приложения - иметь список параметров. Каждый с правильным вводом отмечен зеленым, и вычисление может быть запущено, только если все параметры отмечены зеленым.
И даже если я его запускаю с красными/зелеными изображениями, я пытаюсь лучше понять WPF/XAML и узнать что-то.
Спасибо.