По этой причине .NET использует не методы для возврата простых объектов, а свойства CLR. Вы делаете это в стиле Java, а не в стиле .NET.
public string MySource {
get { return "images/" + name + ".png"; }
}
Теперь свойство выставлено, у вас есть несколько вариантов:
DataСвязать свое представление с самим собой (в конструкторе: DataContext = this;
)
Назовите свой UserControl (или любой другой) (<UserControl x:name="this" ...>
)
Использовать привязку к родственному источнику
РЕДАКТИРОВАТЬ:
Если я хорошо понимаю, на самом деле вы хотите сделать привязку с параметром (имя изображения здесь). Ты не можешь Только привязки команд позволяют CommandParameter. Вы можете использовать множество объявленных ресурсов ObjectDataProviders или Converters, но это слишком много для вашей простой работы.
Ваше простое решение: использовать массив для всех ваших изображений и одностороннее связывание с отдельными объектами этого массива.
private string[] mysource = new[] {
"images/foo.png",
"images/bar.png",
"images/baz.png"};
public string[] MySource {
get { return mySource; }
}
DataСвязать свое представление с самим собой (в конструкторе: DataContext = this;
)
-
- ... и т.д.
Я не проверял это, но человек из следующей статьи сделал:
http://www.codeproject.com/Articles/37352/WPF-Binding-to-individual-collection-items-but-not.aspx