本文介绍了反射无法在DataGridCellInfo中获取运行时属性值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

反射无法在DataGridCellInfo中获取运行时属性值。


Wpf - Datagrid -   SelectedCellsChanged - 更改事件

 private void Dgv_OnSelectedCellsChanged(object sender,SelectedCellsChangedEventArgs e)
{
var pp = e.AddedCells [0];
PropertyInfo rowDataItemProperty = pp.GetType()。GetProperty(" ItemInfo",BindingFlags.Instance | BindingFlags.NonPublic);
}


< DataGrid Name =" dgv" RowHeaderWidth = QUOT; 50" SelectedCellsChanged = QUOT; Dgv_OnSelectedCellsChanged" SelectionUnit = QUOT; CellOrRowHeader"的AutoGenerateColumns = QUOT假QUOT; ItemsSource =" {Binding ViewModelCollection}" IsSynchronizedWithCurrentItem = QUOT;真" CanUserAddRows = QUOT假QUOT; MinColumnWidth = QUOT; 80 QUOT; columnWidth时= QUOT; 80 QUOT; CanUserResizeRows = QUOT假QUOT; CanUserResizeColumns = QUOT假QUOT;余量= QUOT; 0,55,-0.287,0.168"> 
< DataGrid.Columns>
< DataGridTextColumn Header =" Dosage" Binding =" {Binding Path = Dosage}" />
< DataGridTextColumn Header =" Drug" Binding ="{Binding Path = Drug}" />
< DataGridTextColumn Header =" Patient" Binding =" {Binding Path = Patient}">
< DataGridTextColumn Header =" Date" Binding =" {Binding Path = Date}">
< /DataGrid.Columns>
< / DataGrid>

我的要求很简单。




我只需要索引,但在进入ItemInfo属性后我看不到索引.....

 pp.ItemInfo索引:2  Item:{WpfApp22.Model} System.Windows.Controls.ItemsControl.ItemInfo 

在运行时索引变化.....


我只需要索引编号。




解决方案

Reflection not working to get run time Property Values in DataGridCellInfo.

Wpf - Datagrid - SelectedCellsChanged - Changed Event

 private void Dgv_OnSelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
        {
            var pp = e.AddedCells[0];
            PropertyInfo rowDataItemProperty = pp.GetType().GetProperty("ItemInfo", BindingFlags.Instance | BindingFlags.NonPublic);
        }
<DataGrid Name="dgv" RowHeaderWidth="50" SelectedCellsChanged="Dgv_OnSelectedCellsChanged"  SelectionUnit="CellOrRowHeader"  AutoGenerateColumns="False" ItemsSource="{Binding ViewModelCollection}" IsSynchronizedWithCurrentItem="True" CanUserAddRows="False" MinColumnWidth="80" ColumnWidth="80" CanUserResizeRows="False" CanUserResizeColumns="False" Margin="0,55,-0.287,0.168">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Dosage" Binding="{Binding Path=Dosage}" />
                <DataGridTextColumn Header="Drug" Binding="{Binding Path=Drug}" />
                <DataGridTextColumn Header="Patient" Binding="{Binding Path=Patient}"/>
                <DataGridTextColumn Header="Date" Binding="{Binding Path=Date}"/>
            </DataGrid.Columns>
        </DataGrid>

My Requirement is Simple.

I Just Need the Index, But after getting into ItemInfo Property I dont see Index.....

pp.ItemInfo	Index: 2  Item: {WpfApp22.Model}	System.Windows.Controls.ItemsControl.ItemInfo

At runtime index changes.....

I need Just Index Number .

解决方案


这篇关于反射无法在DataGridCellInfo中获取运行时属性值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 23:48