8,735
社区成员
发帖
与我相关
我的任务
分享
这是viewmodel
这是界面
<DataGrid
x:Name="dataGrid"
Grid.Row="1"
Margin="5"
AlternationCount="2"
CanUserAddRows="False"
ItemsSource="{Binding UserData, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="编辑">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button
Command="{Binding SaveCmd}"
CommandParameter="{Binding}"
Content="保存修改" />
<Button
Command="{Binding DelCmd}"
CommandParameter="{Binding}"
Content="删除属性" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="White" />
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="LightCyan" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
这是绑定命令的方法
public void DeleteColumn(string columnName)
{
if (_userData == null)
{
return;
}
for (int i = 0; i < _userData.Columns.Count; i++)
{
if (columnName == _userData.Columns[i].ColumnName)
{
_userData.Columns.RemoveAt(i);
return;
}
}
}
private void AddColumn(string columnName)
{
if (_userData == null)
{
return;
}
for (int i = 0; i < _userData.Columns.Count; i++)
{
if (_userData.Columns[i].ColumnName == columnName)
{
return;
}
}
_userData.Columns.Add(columnName);
}
折腾了一下午没搞出来,另外还有二个问题,
1. 修改和保存的按钮怎么移动到最末尾啊?
2. 最后为啥还有个空列啊,怎么消除?