如何为双击绑定到WPF中的祖先类型属性

如何为双击绑定到WPF中的祖先类型属性,wpf,xaml,Wpf,Xaml,我有一个xaml文件,它是一个父文件。我从另一个xaml文件获取该文件的内容。当我双击内容时,它应该调用父部分中的close按钮操作 <Window x:Class="NextGen.Optik.UI.Presentation.Views.Forms.InventoryMasterSearchForm" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://

我有一个xaml文件,它是一个父文件。我从另一个xaml文件获取该文件的内容。当我双击内容时,它应该调用父部分中的close按钮操作

    <Window x:Class="NextGen.Optik.UI.Presentation.Views.Forms.InventoryMasterSearchForm"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:inventorycontrols="clr-namespace:NextGen.Optik.UI.Presentation.Controls.Inventory"
    xmlns:inventoryviewmodels="clr-namespace:NextGen.Optik.UI.Presentation.ViewModels.Inventory"
    xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
    xmlns:prism="http://prismlibrary.com/"
    mc:Ignorable="d"
    Title="Inventory Master" Height="910" Width="1295" ShowInTaskbar="False" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/NextGen.Optik.UI.Presentation;component/ProjectDataSources.xaml"/>
            <ResourceDictionary Source="/NextGen.Optik.UI.Presentation;component/ResourceDictionaries/GlobalStyles.xaml"/>
            <ResourceDictionary Source="/NextGen.Optik.UI.Presentation;component/ResourceDictionaries/DataTemplates/InventoryMaster.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>

<Window.DataContext>
    <Binding Mode="OneWay" Source="{StaticResource InventoryMasterMainDataSource}"/>
</Window.DataContext>
<i:Interaction.Triggers>
    <i:EventTrigger EventName="PreviewKeyDown">
        <prism:InvokeCommandAction Command="{Binding ProcessWindowsInputCommand}"/>
    </i:EventTrigger>

</i:Interaction.Triggers>


<Grid Margin="0,0,10,0">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <ToolBarTray Margin="0,5">
        <ToolBar KeyboardNavigation.TabNavigation="Continue">
            <Button Margin="10,0" CommandParameter="Search_Filter" Command="{Binding ButtonClicks}">
                <StackPanel Orientation="Vertical">
                    <Image Source="/NextGen.Optik.UI.Presentation;component/Resources/search.png" Width="32" Height="32" Margin="0,2"/>
                    <TextBlock Text="Search" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </StackPanel>
            </Button>
            <Button Margin="10,0" CommandParameter="Clear_Filter" Command="{Binding ButtonClicks}" >
                <StackPanel Orientation="Vertical">
                    <Image Source="/NextGen.Optik.UI.Presentation;component/Resources/clear_filters.png" Width="32" Height="32" Margin="0,2" />
                    <TextBlock Text="Clear Filters" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </StackPanel>
            </Button>

        </ToolBar>
    </ToolBarTray>
    <Grid Grid.Row="1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="245" MaxWidth="400"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <inventorycontrols:SearchFiltersControl MinWidth="220" Padding="0,0,5,0" />
        <GridSplitter HorizontalAlignment="Stretch" Height="Auto" Width="4" Grid.Column="1"/>
        <Grid Grid.Column="2" Margin="5,0,0,0" DataContext="{Binding SearchResults}">
            <Grid >
                <Grid.RowDefinitions>

                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>

                <TextBlock  Margin="5,10" Text="{Binding NoRecordVisible}"  FontSize="25" Foreground="Red" />
                <ComboBox x:Name="viewModeComboBox" HorizontalAlignment="Right" VerticalAlignment="Center" ItemsSource="{Binding ViewModes}"
                          SelectedItem="{Binding SelectedViewMode}" VerticalContentAlignment="Center" Margin="0,10">
                    <ComboBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <Image Margin="5,3" Source="{Binding ModeIconPath}" />
                                <TextBlock Text="{Binding ModeName}" Margin="3" />
                            </StackPanel>
                        </DataTemplate>
                    </ComboBox.ItemTemplate>
                </ComboBox>
                <ContentControl Content="{Binding}" Grid.Row="1" IsTabStop="False" >
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="MouseDoubleClick">
                            <i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}},Path=ButtonClicks}" CommandParameter="close"/>

                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                    <ContentControl.Style>

                        <Style TargetType="{x:Type ContentControl}" >
                            <Style.Triggers>

                                <DataTrigger Value= "List View" Binding="{Binding SelectedValue.ModeName, ElementName=viewModeComboBox}">
                                    <Setter Property="ContentTemplate" Value="{StaticResource ListViewTemplate}" />

                                </DataTrigger>
                                <DataTrigger Value= "Gallery View" Binding="{Binding SelectedValue.ModeName, ElementName=viewModeComboBox}">
                                    <Setter Property="ContentTemplate" Value="{StaticResource GalleryViewTemplate}" />
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </ContentControl.Style>

                </ContentControl>

            </Grid>
        </Grid>
    </Grid>
    <Grid Grid.Row="2">

        <Grid>
            <Button Margin="0,10" HorizontalAlignment="Right" Style="{StaticResource CommandButtonStyle}" Content="Close"  Command="{Binding ButtonClicks}" CommandParameter="close">

            </Button>
        </Grid>
    </Grid>
</Grid>


我已经在ContentControl中编写了双击触发器命令。我想在双击内容时调用close按钮函数

以下变化对我起了作用:

     <i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}},Path=DataContext.ButtonClicks}" CommandParameter="close"/>

内置的
窗口
类没有
按钮链接
属性。您正试图调用的是这个命令,还是您的确切问题?