【问题标题】:Need ability to fire employees需要解雇员工的能力
【发布时间】:2015-02-16 09:39:06
【问题描述】:

这是我的 Employee 类。

public class Employee
    {
        public string LastName { get; set; }
        public string FirstName { get; set; }
        public bool Fire { get; set; }
    }

这就是 XAML 的设置方式。

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid Loaded="EmployeesGridLoaded">
        <DataGrid x:Name="gEmployees" HorizontalAlignment="Left" Margin="10,10,0,0" 
                  VerticalAlignment="Top" AlternatingRowBackground="LightBlue" AlternationCount="2" AutoGenerateColumns="False" Grid.Row="0">
            <DataGrid.Columns>
                <DataGridCheckBoxColumn Header="Fire" Binding="{Binding Fire}"  Width="1*" />
                <DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" Width="3*" />
                <DataGridTextColumn Header="First Name" Binding="{Binding FirstName}" Width="3*" />
            </DataGrid.Columns>
        </DataGrid>

    </Grid>
</Window>

最后是EmployeesGridLoaded方法。

private void EmployeesGridLoaded(object sender, RoutedEventArgs e)

{
    List<Employee> Employees = new List<Employee>()
    {
        new Employee() { Fire = false, LastName = "Silly", FirstName = "Dude" },
        new Employee() { Fire = false, LastName = "Mean", FirstName = "Person" },
    };

        gEmployees.ItemsSource = Employees;
    }

}

通过这个网格,我的目标是姓和名列应该是只读的。我也不希望能够添加新行,但我希望 Fire 列是可编辑的,以便我可以选择要解雇的员工。以下是我得到的。

我知道我可以将绑定模式设置为单向,这将使姓氏和名字列不可食用,但这样我仍然会在网格中得到一个额外的空行。你能帮我解决这个问题,以便我可以开始解雇员工吗?

【问题讨论】:

  • 附带说明,如果您要立即执行此操作,我会使用“开火!”按钮。而不是一个复选框。除非您要选中多个框,否则请点击对话框底部的“确定”。
  • 是的,我将有一个按钮可以解雇所有选中 Fire 列的员工
  • 成为一个固执己见的人,并与@VP 保持一致。说,属性不是“已触发”,而动作(如按钮)不是“触发”吗?
  • 为什么投了反对票?有什么问题吗?

标签: c# wpf xaml


【解决方案1】:

空行用于添加新行。你需要在DataGrid中设置这个属性:

<DataGrid CanUserAddRows="False" />

【讨论】:

  • 您可能还想设置 CanUserDeleteRows="False",这样用户就无法从您的网格中删除行。
猜你喜欢
  • 2022-12-19
  • 2020-09-28
  • 1970-01-01
  • 2012-01-05
  • 2017-06-24
  • 1970-01-01
  • 2019-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多