在datagrid(wpf)中选择行索引 - c#

如何在datagrid中选择行索引?

事件SelectionChanged

以下代码不起作用:

        private DataGridRow dgr = new DataGridRow();

    private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {

        this.dgr = this.dataGrid.ItemContainerGenerator.ContainerFromItem(this.dataGrid.SelectedItem) as DataGridRow;
        MessageBox.Show(this.dgr.GetIndex().ToString());

    }

参考方案

上面的代码不起作用的原因是因为wpf数据网格已虚拟化,并且可能无法使用itemContainerGenerator.ContainerFromItem返回该行,因为它可能位于滚动视图之外。

为此,您将必须使用datagrid的items集合和使用选定项目的IndexOf调用。

   private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
   {
         var dg = sender as DataGrid;
         MessageBox.Show(dg.Items.IndexOf(dg.SelectedItem).ToString());
   }

设置UIaccess更改ShowDialog的行为 - c#

作为WPF应用程序的一部分,我有一个登录提示-当用户输入不正确的密码时,将出现一个新的模式对话框窗口,通知他们其密码不正确。该模式对话框是通过ShowDialog()启动的,并且行为符合预期-该对话框成功启动,出现在生成该对话框的登录提示之前(我已经在调试器中验证了Owner是否已正确设置为登录提示) ,并且在解决警告消息之前,用户无法单击返回到登录对话框。…

将GUI导出为XML? - c#

是否有工具采用C#或其他语言设计的GUI,可以采用屏幕布局并将其导出到XML文件,从而最终获得以XML术语表示的屏幕模板?以及获取XML文件并显示结果屏幕? c#参考方案 您是否在WPF中调查过XAML?您提到了C#,所以这似乎与您所要求的直接一致。http://en.wikipedia.org/wiki/XAML另一个好的出发点可能是:http://en.…

从C#中的列表中删除 - c#

我有一个wpf c#应用程序,它从文本文件中将任务加载到treeView中,有关任务的数据正在加载到列表中,我试图删除列表中位置I的数据,但我不知道如何操作。我有此循环检查,以查看所选的treeView项目是否等于列表中位置I的项目,如果是,我想从列表中删除该项目。这是有效的for循环,我只是想知道如何进行实际的删除,我尝试了在msdna上找到的诸如.del…

ICommand以MVVM样式进行按钮按下和释放 - c#

我很高兴使用ICommand实现来处理按钮上的单个操作:<Button Command="{Binding Path=ActionDown}">Press Me</Button> 通过ICommand实现RelayCommand但是我找不到一种简单的方法来同时为新闻发布和发布提供动作(在SO上以及在其他网站上)。 …

动画无法在WPF中使用 - c#

好吧,我有两个与动画有关的问题。1)下面的代码不动画标题和边框,我这样称呼以下内容:FadeIn(),这当然是UIElement类型。public static void FadeIn(this UIElement targetControl) { DoubleAnimation fadeInAnimation = new DoubleAnimation(0…