4

ここでは、{binding}と{binding Account}について混乱しています。単純な{binding}のみを使用する場合、以下のコードバインディングでプロパティ名を使用したバインディングは:Content="{Binding}"として発生します。

 <Border Grid.Row="1" Grid.Column="0"
         Style="{StaticResource MainBorderStyle}" 
         Background="{StaticResource ResourceListGradientBrush}"
         BorderThickness="0,0,1,1"
         Padding="0">
     <StackPanel>
         <HeaderedContentControl 
             Content="{Binding}"
             ContentTemplate="{StaticResource CommandsTemplate}"/>
     </StackPanel>
 </Border>

以下のコードバインディングは次のように発生します

Text="{Binding Path=Name, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"/>

なので、使い方や違いを知りたいです。よろしくお願いします。

4

2 に答える 2

4

{Binding}で設定された実際のオブジェクトにバインドするだけDataContextです。そのオブジェクト{Binding Account}のプロパティにバインドします。Account

あなたの場合ViewModel、ルートレベルに対してセットを持っDataContextていたAccount場合AccountViewModel

あなたが持っている場所

<HeaderedContentControl
            Content="{Binding}"
            ContentTemplate="{StaticResource CommandsTemplate}"/>

これが行っているのは、またはの背後にあるコードにこのようなものがあればContent、のHeaderedContentControlをに設定することだけですViewModelWindowUserControl

 DataContext = yourViewModel;
于 2012-04-26T00:54:02.563 に答える
3

{Binding}現在にバインドされますDataContext

{Binding Account}Account現在のプロパティにバインドしますDataContext

于 2012-04-26T00:54:11.190 に答える