Установите для параметра «Действие сборки» файлов изображений в вашем проекте значение Resource
(Обозреватель решений -> Контекстное меню -> Свойства) и загрузите их с помощью URI-файлов пакета ресурсов , например
Image = "pack://application:,,,/Images/ruderboot1.jpg"
Кроме того, вы должны использовать привязку данных. Присвойте переданный объект «лодка» объекту DataContext окна:
public Boatdetails(Object boot)
{
DataContext = boot;
InitializeComponent();
}
. В XAML просто напишите выражения типа
<TextBlock Text="{Binding Modell}"/>
<Image Source="{Binding Image}"/>
, где в последнем случае преобразование из string
в ImageSource
автоматически выполняется платформой.
Вы можете использовать один ContentControl с различными шаблонами данных для разных типов лодок, например
<Window x:Class="BoatdetailsTest.Boatdetails" ...>
<Window.Resources>
<DataTemplate DataType="{x:Type local:Ruderboot}">
<StackPanel>
<!-- elements for Ruderboot -->
</StackPanel>
</DataTemplate>
<DataTemplate DataType="{x:Type local:Segelboot}">
<StackPanel>
<!-- elements for Segelboot -->
</StackPanel>
</DataTemplate>
</Window.Resources>
<Grid>
<ContentControl Content="{Binding}"/>
</Grid>
</Window>