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
的文本框中输入的值,因为您绑定了这些值