2016-04-22 8 views
0

私はXAMLの断片をより読みやすくしようとしています(プロダクションコードではなく、XAMLの内部動作をよりよく理解するためです)。私は簡略化とWPFバインディングの等価性

<CheckBox> 
    <CheckBox.IsChecked> 
     <Binding Path="IsSelected" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay"> 
     <Binding.Source> 
      <RelativeSource Mode="FindAncestor" AncestorType="{x:Type DataGridRow}"/> 
     </Binding.Source> 
     </Binding> 
    </CheckBox.IsChecked> 
</CheckBox> 

最初の形式は、[OK]を作品にそれを変更しました

<CheckBox IsChecked="{Binding Path=IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}}}"> 

元のコードがある(それが適切にコンテナのIsSelectedプロパティにあるチェックボックスのプロパティにisChecked(DataGridRowをバインド)。 秒1は動作しません。 どのようにそれはあなたが二カリフォルニア州<Binding.Source>代わりの​​を設定しているので、これは適切?

答えて

2

を動作するようになっているはずですse。​​を設定してもうまくいきます。

<CheckBox> 
    <CheckBox.IsChecked> 
     <Binding Path="IsSelected" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay"> 
     <Binding.RelativeSource> 
      <RelativeSource Mode="FindAncestor" AncestorType="{x:Type DataGridRow}"/> 
     </Binding.RelativeSource> 
     </Binding> 
    </CheckBox.IsChecked> 
</CheckBox>