Создайте элемент управления в ресурсах и повторно используйте его в XAML WPF

Я просто пытаюсь создать простой 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>

Затем я хотел бы поместить его в сетку или панель, но как мне ссылаться на него?

<Canvas x:Name="RedGreen1" Height="50" Width="50" DataContext="{DynamicResource Ampel}" /> 

Это не возвращает ошибку компилятора, но ничего не показывает в окне. Это также не работает с WrapPanel или чем-то еще.

И если бы это сработало, как я мог бы обратиться к нему в коде для изменения цвета круга. Что-то вродеRedGreen1.RedGreen.Fill=Brushes.Green?

Я читал статьи о стоп-сигналах. Действительно ли необходимо создать UserControl или есть способ решить его с помощью window.resources?

Общая идея приложения - иметь список параметров. Каждый с правильным вводом помечен зеленым, и вычисления могут быть начаты, только если все параметры отмечены зеленым.

И даже если я запускаю его с красными / зелеными изображениями, я пытаюсь лучше понять WPF / XAML и чему-то научиться.

Спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос