【发布时间】:2013-09-10 13:56:25
【问题描述】:
在我的 WPF C# 项目中,我有一个 Datagrid,如下所示:
<DataGrid x:Name="FixedPositionDataGrid" HorizontalAlignment="Left" Margin="33,229,0,0" VerticalAlignment="Top" Width="172" Height="128" AutoGenerateColumns="False" FontSize="10" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="indice" Binding="{Binding index}" IsReadOnly="True"/>
<DataGridTextColumn Header="%" Binding="{Binding percentage}" />
<DataGridComboBoxColumn x:Name="DataGridComboBoxColumnAlignment" Header="Allineamento barre" SelectedValueBinding="{Binding alignment}"/>
</DataGrid.Columns>
</DataGrid>
我需要有一个事件来管理第二列和第三列中的值变化(即“%”和“Allineamento barre”)。不需要插入的值,我只需要在其中一个值发生更改时引发一个事件。 我该如何执行?我需要定义事件方法的方法,我可以在其中定义一些要执行的操作。 我已阅读此how to raise an event when a value in a cell of a wpf datagrid changes using MVVM?,但我没有链接到数据网格的可观察集合。
编辑: Datagrid ItemSource 与以下对象链接:
public class FixedPosition
{
[XmlAttribute]
public int index { get; set; }
public int percentage { get; set; }
public HorizontalAlignment alignment { get; set; }
}
如何修改它以获得预期的结果?
谢谢
【问题讨论】:
-
为什么你不能在
percentage和/或alignment属性的设置器中做你想做的事?这就是值变化时触发的内容 -
@dkozl 我需要知道怎么做...你能给我一个例子吗?
-
因为你可以修改
percentage我假设它有 getterget和 setterset所以触发你想要在 setter 中触发的东西,只要设置了percentage值:set { ... [trigger action] } -
@dkozl 我需要一个清晰的例子……看看我的编辑,请给出一个基于它的例子。谢谢