0

VM に設定された DataContext を持つ UserControl があるとします。

ここで、UserControl に、ViewModel のプロパティに最初にバインドする依存関係プロパティが定義されているとします。最上位の要素が UserControl である場合、UserControl の XAML でこのプロパティをどのように参照すればよいでしょうか?

<UserControl x:Class="TestApp1.TestControl"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:local="clr-namespace:TestApp1"
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300" x:Name="test">

</UserControl>

依存関係プロパティ:

    public static readonly DependencyProperty MyTestPropProperty= null;

    public string MyTestProp
    {
        get { return (string)GetValue(MyTestPropProperty); }
        set { SetValue(MyTestPropProperty, value); }
    }

    static TestControl()
    {
        MyTestPropProperty= DependencyProperty.Register(
            "MyTestProp",
            typeof(string), 
            typeof(TestControl), 
            new FrameworkPropertyMetadata());
    }

XAML で MyTestProp={Binding yadda yadda} に移動できるようにしたいのですが、XAML から参照する方法がありません

4

1 に答える 1

0

次のように、ルート ノードにプロパティを追加するだけです。

<Usercontrol xmlns=blablabla MyProperty="{Binding MyViewModelProperty}">

編集: 新しく作成されたプロパティへの XAML 参照がないため、これは機能しません。を使用する<Style TargetType="TestControl">か、外部コンテキスト (このユーザーコントロールを含むコンテキスト) からプロパティを設定します。

于 2012-11-06T19:37:16.543 に答える