Ich habe usercontrol, und es ist eine DependencyProperty definiert.MVVM DependencyProperty wird nicht aktualisiert, wenn RaisePropertyChanged
#region ImageUri
public static readonly DependencyProperty ImageUriProperty = DependencyProperty.Register(
"ImageUri",
typeof(string),
typeof(ScrollableCanvas),
new PropertyMetadata(new PropertyChangedCallback(ImageUriPropertyChangedCallback)));
private static void ImageUriPropertyChangedCallback(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
ScrollableCanvas main = sender as ScrollableCanvas;
if (main != null)
{
main.ImageUri = (string)e.NewValue;
}
}
public string ImageUri
{
get
{
return (string)GetValue(ImageUriProperty);
}
set
{
SetValue(ImageUriProperty, value);
UpdateImage();
}
}
#endregion
Im XAML, band ich einen Wert zu wie diese
<my:ScrollableCanvas Name="scrollableCanvas1" ImageUri="{Binding Path=LayerImage}" />
, wenn ich die LayerImage im Ansichtsmodell aktualisieren, die ImageUri Eigenschaft nicht aktualisiert.
Kann Ihnen etwas helfen? Vielen Dank.
BTW: Der Wert wird aktualisiert, wenn ich die LayerImage im Konstruktor des Viewmodel gesetzt.
Es funktioniert. Vielen Dank. – user1205398