2011-08-17 16 views
0

私はUserControl1というユーザーコントロールを作成しました。コントロールの中に私はテキストブロックを持っています。 UserControl1クラスでは、DisplayTextというプロパティを作成しました。テキストブロックのテキスト値をユーザーコントロールのDisplayTextプロパティにバインドする方法はありますかWP7ユーザーコントロール要素をユーザーコントロールのプロパティにバインドする方法

答えて

2

次のようにユーザーコントロールを持っている場合:

<UserControl class="MyUserControl"> 
    <Grid x:Name="LayoutRoot"> 
    <TextBlock/> 
    </Grid> 
</UserControl> 

をそしてMyUserControlはDisplayText依存関係プロパティを定義します。ユーザーコントロールにLayoutRootDataContextを設定し、コンストラクタの中で次のように

public MyUserControl() 
{ 
    LayoutRoot.DataContext = this; 
} 

をあなたは今TextBlockをバインドすることができます。

<UserControl class="MyUserControl"> 
    <Grid x:Name="LayoutRoot"> 
    <TextBlock Text="{Binding Path=DisplayText}/> 
    </Grid> 
</UserControl> 

グリッドのDataContextがあなたのTextBlockによって継承されているので、これは動作します。これがバインディングのソースになります。

+0

これは動作していません。 displaytextプロパティが変更されたときに、textblockはテキスト値を更新するようには見えません。 – Jeremy

関連する問題