0

次の添付プロパティを検討してください。

public static readonly DependencyProperty TestImageProperty =
    DependencyProperty.RegisterAttached("TestImage",
    typeof(BitmapSource), typeof(TestView), new FrameworkPropertyMetadata(null,
    FrameworkPropertyMetadataOptions.AffectsRender));

public static void SetTestImage(UIElement element, BitmapSource value)
{
    element.SetValue(TestImageProperty, value);
}

public static BitmapSource GetTestImage(UIElement element)
{
    return (BitmapSource)element.GetValue(TestImageProperty);
}

public BitmapSource TestImage
{
    get
    {
        return GetTestImage(this);
    }
    set
    {
        SetTestImage(this, value);
    }
}

そしてXAML

<common:UserControlBase x:Class="MyViews.TestView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:views="clr-namespace:MyViews"
    xmlns:common="clr-namespace:MyCommon.Common;assembly=MyCommon.Common"
    xmlns:mefed="clr-namespace:MEFedMVVM.ViewModelLocator;assembly=MEFedMVVM.WPF"
    mefed:ViewModelLocator.SharedViewModel="MyViewModel"
    views:TestView.TestImage="{Binding TestImage}"

したがって、ビューのTestImageプロパティをビューモデルのプロパティにバインドしていTestImageます! 次に、コード ビハインドからプロパティを更新します。

this.TestImage = image;

これは、ビューモデルでセッターをトリガーしません。

これは何が原因ですか?

4

1 に答える 1

0

モードをBindingオンTwoWayにすると問題が解決します。

于 2013-01-28T16:30:22.507 に答える