WPF 命令参数 RelativeSource 绑定
WPF CommandParameter RelativeSource Binding
我有一个 ListView,在 ListView 的 DataTemple 中有一个 CheckBox。我看到了如何使 Command 工作。我想捕获 ListView SelectedItem 以作为参数传递给命令,但我没有正确...
<ListView x:Name="lvReferralSource" ItemsSource="{Binding ReferralObsCollection}" Style="{StaticResource TypeListViewStyle}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Width="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<CheckBox x:Name="ckbReferralIsChecked" Content="{Binding Value}" IsChecked="{Binding Active}" Style="{StaticResource CheckBoxStyleBase2}"
Command="{Binding DataContext.CheckBoxIsChecked, RelativeSource={RelativeSource AncestorType=ListView}}"
CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ListView}, Path=SelectedItem}">
</CheckBox>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
再看看这个问题,我想我现在理解正确了。
这是从 ListView
获取 SelectedItem
的另一种方法
然后在 CheckBox
中我绑定 CommandParameter
如下
CommandParameter="{Binding ElementName=lvReferralSource, Path=SelectedItem}"
下面会传递对象相关的CheckBox
CommandParameter="{Binding}"// Full object from the ListView
在与CheckBox
相关的Command Method
中可以将参数对象转换为正确的类型(ListView ItemSource
中对象的类型)并得到[=的值20=] 和 Active
我有一个 ListView,在 ListView 的 DataTemple 中有一个 CheckBox。我看到了如何使 Command 工作。我想捕获 ListView SelectedItem 以作为参数传递给命令,但我没有正确...
<ListView x:Name="lvReferralSource" ItemsSource="{Binding ReferralObsCollection}" Style="{StaticResource TypeListViewStyle}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Width="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<CheckBox x:Name="ckbReferralIsChecked" Content="{Binding Value}" IsChecked="{Binding Active}" Style="{StaticResource CheckBoxStyleBase2}"
Command="{Binding DataContext.CheckBoxIsChecked, RelativeSource={RelativeSource AncestorType=ListView}}"
CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ListView}, Path=SelectedItem}">
</CheckBox>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
再看看这个问题,我想我现在理解正确了。
这是从 ListView
获取 SelectedItem
的另一种方法
然后在 CheckBox
中我绑定 CommandParameter
如下
CommandParameter="{Binding ElementName=lvReferralSource, Path=SelectedItem}"
下面会传递对象相关的CheckBox
CommandParameter="{Binding}"// Full object from the ListView
在与CheckBox
相关的Command Method
中可以将参数对象转换为正确的类型(ListView ItemSource
中对象的类型)并得到[=的值20=] 和 Active