имеется следующий код:
ViewModel:
- Код: Выделить всё
Public Class TestViewModel
Implements INotifyPropertyChanged
Public ReadOnly Property ReturnParam(Param As String) As String
Get
Return Param
End Get
End Property
Public ReadOnly Property SimpleProperty() As String
Get
Return "World!!!"
End Get
End Property
Public Sub RaisePropertyChanged(PropertyName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(PropertyName))
End Sub
Public Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
End Class
Xaml:
- Код: Выделить всё
<Window.Resources>
<local:TestViewModel x:Key="vm" />
</Window.Resources>
<Grid DataContext="{StaticResource vm}">
<StackPanel Orientation="Horizontal">
<Label Content="{Binding Path=ReturnParam[Hello]}" />
<Label Content="{Binding Path=SimpleProperty}" />
</StackPanel>
</Grid>
Под 4.5+ фреймворк, все работает замечательно, свойство ReturnParam с параметром Hello привязывается, но под 4.0 фреймворком уже не работает. Причем долго не мог отловить глюк. На компьютере, где стоит студия, все прекрасно работало и под 4.0 фреймворком, а на другом нет, пока я не додумался обновить на нем фреймворк до 4.5, и тогда сразу все стало нормально, хотя приложение я не собирал заново, целевая платформа осталась 4.0.
Все бы ни чего, но приложение будет работать под Windows XP и максимум, что там можно установить это 4.0 фреймворк, потому вопрос, может кто знает в чем секрет, может костыль какой дописать надо чтобы все заработало?
Вот как это выглядит:
.NET 4.5
.NET 4.0