0

MVVMとのバインドにおけるRelativesource-ancestor機能について誰かに説明してもらえますか?基本的に、依存関係プロパティは、ビューモデルを介して上記の概念を持つボタンにバインドされます。サンプルを使った説明に最適です。そうでなければ、いくつかのリンクもそうするでしょう。

編集1:

<Button Name="button1" Content ="Edit" Margin="0, 0, 5, 0" Style="{StaticResource button}"  
        Grid.Column="0" Visibility="{Binding cMode, Converter={StaticResource VisibilityConverter}, ConverterParameter={StaticResource invert}}"  
        Click="EditButton_Click"  
        IsEnabled="{Binding Path= Data.User.CanEdit, RelativeSource={RelativeSource FindAncestor, AncestorType=views:SCView, AncestorLevel=1}}"/>

また、CanEditは依存関係プロパティです

4

1 に答える 1

2

AncestorTypeの要素が見つかるまで、要素Ancestorsを検索します。この要素はソースとして使用されます。

次の例では、ボタンの幅はグリッドと同じになります。

<Grid Width="100"> <!--Level=2-->
    <Border> <!--Level=1-->
        <Button Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type Grid}}, Path=ActualWidth}"/>
    </Border>
</Grid>

さらに、AncestorLevelを設定することにより、検索するレベルを設定できます。

于 2013-02-22T09:50:32.563 に答える