WPF在GridView中将控件链接在一起

WPF在GridView中将控件链接在一起,wpf,binding,Wpf,Binding,我有以下资料: <ListView Name="lstStepTargets" Margin="0,3,0,-3" VerticalAlignment="Stretch" > <ListView.View> <GridView> <GridViewColumn Header="Enabled" >

我有以下资料:

<ListView Name="lstStepTargets" Margin="0,3,0,-3" VerticalAlignment="Stretch" >
    <ListView.View>
        <GridView>
            <GridViewColumn  Header="Enabled" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <CheckBox IsChecked="{Binding Path=Enabled, Mode=TwoWay}" HorizontalAlignment="Center"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn  Header="TargetPath" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBox Width="auto" Text="{Binding Path=BaseFolder}" HorizontalAlignment="Stretch"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn  Header="IgnoreFilter" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBox Text="{Binding Path=IgnoreFilter}" Name="txtIgnore" MinWidth="100" Width="Auto"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn  Header="IncludeFilter" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBox Text="{Binding Path=IncludeFilter}" Name="txtInclude" MinWidth="100" Width="Auto"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Apply Filter to All" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Button Content="Apply" Click="ButtonClick" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

在按钮的处理程序中,我需要一种优雅的方式来访问:

A.txtIgnore和txtInclude中的文本表示“此”行

B.“此”行的数据上下文。(我可能只需要这个)


有什么想法吗?

由于您正在绑定txtIgnore和txtInclude,这意味着您在后面的DataContext中拥有该属性,因此您可以从按钮处理程序内部使用相同的DataContext。

DataContext
是继承的,因此您应该能够从按钮获取行的DataContext:

MyData data = (sender as Button).DataContext as MyData;
MyData
-对象应该具有您在属性
IgnoreFilter
IncludeFilter
的文本框中输入的值,因为您绑定了这些值