Изображение связано со свойством кнопки Tag:
| Код | … <Image x:Name='ClockMinuteHandPreview' Source='{Binding ElementName=BrowseMinuteHand, Path=Tag}' Style='{StaticResource ClockHandImgStyle}' > <Image.RenderTransform> <RotateTransform Angle='0'></RotateTransform> </Image.RenderTransform> </Image> …
|
Кнопка такая:
| Код | <Button Style='{StaticResource BrowseButtonStyle}' x:Name='BrowseMinuteHand' Grid.Row='9' Grid.Column='2' Click='BrowseButtonClick'/>
|
Выбираю файл:
| Код | Private Sub BrowseButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Dim ofd As New Microsoft.Win32.OpenFileDialog Dim ur As New System.Uri(My.Application.Info.DirectoryPath & "\") With ofd .InitialDirectory = My.Application.Info.DirectoryPath .Multiselect = False .Filter = "Изображения|*.png;*.jpg" If .ShowDialog Then DirectCast(sender, Button).Tag = ur.MakeRelative(New Uri(.FileName)) End If End With End Sub
|
Т.е. при изменении Tag должна меняться картинка. Таких кнопок несколько, картинок, соответственно, тоже. Так вот, если указать файл, который лежит глубже или в той же директории что экзешник, то картинка грузится. Но если указать файл выше, когда относительный путь выглядит как-то так: "../../images/cronometer.png", то картинка не грузится, а выдаётся ошибка:
| Цитата | System.Windows.Data Error: 6 : 'ObjectSourceConverter' converter failed to convert value '../../images/cronometer.png' (type 'String'); fallback value will be used, if available. BindingExpression:Path=Tag; DataItem='Button' (Name='BrowseClockFace'); target element is 'Image' (Name='ClockFacePreview'); target property is 'Source' (type 'ImageSource') IOException:'System.IO.IOException: Не удается найти ресурс "images/cronometer.png".
|
Как быть? Почему не воспринимает путь? |