0

次の構造の XAML ファイルがあります。

<UserControl>
    <Grid>
        ...
        <ListBox>
            <ListBox.ItemTemplate>              
                <DataTemplate>
                    <Expander>
                        <ListBox>
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <Expander>
                                        <StackPanel>
                                            <kb:Resizer>
                                                <DataGrid>  
                                                    <DataGrid.Columns>  
                                                        ...
                                                            <DataGridTemplateColumn IsReadOnly="True">
                                                                <DataGridTemplateColumn.CellTemplate>
                                                                    <DataTemplate>
                                                                        <Button Style="{StaticResource ChromelessButton}">
                                                                            <Button.CommandParameter>
                                                                                <MultiBinding Converter="{StaticResource MultiBindingConverter}">
                                                                                     <Binding />
                                                                                     <Binding Path="DataContext.Items" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
                                                                                </MultiBinding>
                                                                            </Button.CommandParameter>
                                                                            <Button.Content>
                                                                                <Image Source="./../Images/close.png" Width="15"></Image>
                                                                            </Button.Content>
                                                                            <Button.Command>                                                            
                                                                                <MultiBinding Converter="{StaticResource TriggerConverter}">
                                                                                    <Binding Path="DataContext.DeleteCommand" 
                                                                                        RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type local:MyClass}}" />
                                                                                    <Binding />
                                                                                </MultiBinding> 
                                                                            </Button.Command>
                                                                        </Button>
                                                                    </DataTemplate>                                             
                                                                </DataGridTemplateColumn.CellTemplate>                                          
                                                            </DataGridTemplateColumn>
                                                        </DataGrid.Columns>  
                                                    </DataGrid> 
                                                </kb:Resizer>                                       
                                            </StackPanel>
                                        </Expander>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>
                    </Expander>                 
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
</UserControl>

プログラムは適切にコンパイルおよび実行され、出力にエラー メッセージは表示されDeleteCommandませんが、ヒットすることはありません。

私は何を間違っていますか?

4

1 に答える 1

1
<Button.Command>                                                            
  <MultiBinding Converter="{StaticResource TriggerConverter}">
     <Binding Path="DataContext.DeleteCommand" 
        RelativeSource="{RelativeSource Mode=FindAncestor, 
                AncestorType={x:Type local:MyClass}}" />
     <Binding />
  </MultiBinding> 
</Button.Command>

コード内のこの xaml は問題があるようです...

  • あなたが持っているときDeleteCommandDataContext何が必要ですTriggerConverterか?
  • これAncestorType={x:Type local:MyClass}}"は間違っているように見えます。それは何らかのコントロールまたはあなたのクラスを指していますか?MyClassコントロール階層にこのコントロール (タイプ ) が表示されません。RelativeSourceがどのように機能するかについては、これを確認してください。
于 2012-06-24T06:52:56.377 に答える