从Checked Change事件(RoutedEventArgs)WPF获取项目
本文关键字:WPF 获取 项目 RoutedEventArgs Checked Change 事件 | 更新日期: 2023-09-27 17:59:38
我想知道是否可以从WPF中的已检查更改事件中获取Item源项?
XAML
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Active, Mode=TwoWay}" Checked="CheckBox_Checked" HorizontalAlignment="Center"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
示例C#(在正确答案的行上…我希望)
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
**// Its not e.source, most events it's e.item...but the checked event doesn't use this..**
Customer c = e.Source as Customer;
if(c != null)
.....
}
感谢
类似的事情,假设您没有遵循MVVM
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
bool IsActive = (sender as CheckBox).IsChecked;
if(IsActive)
{
Active;
}
}
你可以像Refernece 一样完成
参考2
Viewmodel
private bool _isactive;
public bool IsActive
{
get { return _isactive; }
set
{
_isactive = value;
RaisePropertyChanged(() => IsActive);
}
}
如果您想在mvvm中获取eventargs。使用中继命令或图标命令
xaml
<CheckBox x:Name="chkbox" Command="{Binding CommandName}"
CommandParameter="{parameter}"/>
处理命令做必要的操作。