Silverlight 3 Datagrid:在 MouseOver 上获取行/项目

2024-01-17

我有一个绑定的 DataGrid 和各种其他控件(数据网格外部),它们显示有关数据网格中所选行的更多详细信息。通过数据绑定或处理数据网格上的 SelectionChanged 事件很容易做到这一点。

但是,如何在不要求用户选择行的情况下执行此操作 - 例如,在“鼠标悬停”时,我可以更改所选项目或获取鼠标“下方”的行/项目。


在你的容器类中尝试类似的东西,如 UserControl、Grid、StackPanel 等......

public class MyContainerClass : FrameworkElement
{
    public MyContainerClass()
    {
            base.Loaded += OnLoaded;
    }

    private void OnLoaded(object sender, RoutedEventArgs e)
    {
        m_DataGrid.MouseMove += OnMouseMove;
    }

    private void OnMouseMove(object sender, MouseEventArgs e)
    {
        DataGridRow item = (sender as DependencyObject).ParentOfType<DataGridRow>();
        if (item != null && m_DataGrid.SelectedIndex != item.GetIndex())
            m_DataGrid.SelectedIndex = item.GetIndex();
    }
}

并添加这个辅助类扩展...

internal static class DependencyObjectExt
{
    // Extension for DependencyObject
    internal static TT ParentOfType<TT>(this DependencyObject element) where TT : DependencyObject
    {
        if (element == null)
            return default(TT);

        while ((element = VisualTreeHelper.GetParent(element)) != null)
        {
            if (element is TT)
                return (TT)element;
        }

        return null;
    }
}

祝你好运,
吉姆·麦柯迪
阴阳钱 http://yinyangmoney.com/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight 3 Datagrid:在 MouseOver 上获取行/项目 的相关文章

  • UserControl 中嵌套 DataGrid 中的 WPF SelectedItem 属性

    I have UserControl 我们称其为CustomDataGrid 其中包含DataGrid 剩下的内容并不重要 SelectedItem的财产DataGrid必须是SelectedItem的财产CustomDataGrid 我希
  • Windows Phone 7 按钮“边框”

    默认情况下 WP7 按钮被 5 像素左右的黑色空间包围 我想删除这个 但我尝试将 Margin BorderThickness Padding 属性设置为 Thinkness 为零 但这似乎对这个神秘的空间没有任何影响 任何线索这个空间到底
  • bootstrap-vue 选择带有过滤器选项的组件?

    在带有 bootstrap vue 的 vue 项目中 我搜索选择组件的工作原理https bootstrap vue js org docs components form select https bootstrap vue js or
  • 如何在代码中定义DataTemplate?

    我怎样才能创建一个DataTemplate在代码中 使用 C 然后向其中添加一个控件DataTemplate
  • WPF datagrid 选定行单击事件?

    我想在双击 WPF DataGrid 的选定行时执行一些代码 我知道数据网格有一个 MouseDoubleClicked 事件 并且它还有一个行选定事件 但我没有看到任何 选定行双击 事件 您认为有可能以某种方式捕捉到这一事件吗 您可以在中
  • wpf 数据网格错误?当切换以图像作为标题内容的列的可见性时

    我有以下问题 如果我使用图像作为数据网格标题 我在切换可见性时会收到错误
  • WPF DataGrid - 禁用时保留选择

    我已经为此苦苦挣扎了一段时间了 我的应用程序中有一个 主 详细信息 布局 并且像许多其他人一样面临着 DataGrid 在禁用它时丢失其选择的问题 本质上 从列表中选择一个元素来填充一系列字段后 用户按下 编辑 这会禁用 DataGrid
  • 如何将editedRows从DataGrid MUI更新到firebase?

    如何将刚刚编辑的值更新到 firebase 到目前为止 这是我从 editRow 中了解到的 如果我错了 请纠正我 数据网格内部 Enable edit mode for row and not cell editMode row any
  • 限制vb.net中列表框中的选择

    我正在 vb net 中创建一个包含列表框的 Web 控件 我知道我可以选择 单个 或 多个 选择模式 但我有兴趣将 多个 选择限制为预定大小 例如 阻止用户选择 3 个以上的项目 我尝试向列表框中添加一个验证器 这可能是一种前进的方法 但
  • Silverlight、RIA 服务、MVC2P2 = 无数据

    我在升级当前项目以使用 RIA 服务时遇到问题 我添加了所有必要的 web config 更改 但仍然没有运气 我一切都编译得很好 但是当我使用数据上下文点击页面时 我收到错误 我用 fiddler 进行了调试 并且在其中一个请求上收到了
  • UICollectionView shouldSelectItemAtIndexPath=NO 不会避免取消选择旧选择吗?

    我在 CollectionView 中有多个项目 但只有其中几个应该是可选的 我用委托方法处理这个问题 BOOL collectionView UICollectionView collectionView shouldSelectItem
  • 如何让ChildWindow阻塞

    ChildWindow是一个模态窗口 但它不会阻塞 有什么办法让它阻塞吗 我基本上想要一个 ShowDialog 方法 该方法将调用 ChildWindow Show 但直到用户关闭 ChildWindow 后才会返回 我尝试使用 Moni
  • 将 WPF DataGrid 导出到 Excel

    当我将 DataGrid 导出到 Excel 时 为什么我的值会发生变化 字符串 351732051316944 变为 3 51732E 14 和我的日期时间 2014 01 01 02 09 29 942 变为 41641 09035 我
  • 数据网格中的主键始终为零

    我们正在VS2012中使用实体框架 DB First 开发WPF应用程序 我们在数据网格视图中遇到问题 我们从数据源中拖动了一个数据网格 这创建了一个绑定到该特定表的数据网格 该表有两列 一列是 TransporterID 它是 PK 是自
  • DataGrid、TextBox - 绑定和即时更新

    我的应用程序 包含图中的窗口 DataGrid 的 ItemsSource 设置为 editList 声明为 IList editList 数据网格设置为只读 供应商名称文本框的绑定设置为 Text Binding ElementName
  • C#/WPF:将 Datagrid 中的 Combobox ItemSource 绑定到 DataContext 外部的元素

    我想做以下事情 public List
  • WPF MVVM将DataTable绑定到DataGrid不显示数据

    我有一个简单的控件 其中包含一个 DataGrid 其中 ItemsSource 绑定到 DataTable 当我填充 DataTable 时 我可以看到 DataGrid 中添加了行 但没有显示任何数据 我没有为此 DataGrid 使用
  • 在应用程序创建完成时设置 Spark DataGrid 列的默认排序(Flex 4.5)

    我有一个包含多个列的 Spark DataGrid 组件 我希望我的应用程序默认按 DataGrid 中第一列的降序排列 我想使用单击顶部标题一次时发生的内置默认排序 我不需要对我正在使用的 ArrayCollection 进行排序或更改比
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords

随机推荐