小编Kay*_*Lee的帖子

使用(LINQ/Predicate)将DataTable的所有列名称转换为字符串数组

我知道我们可以通过一个简单的循环轻松地做到这一点,但我想说服这个LINQ/Predicate?

string[] columnNames = dt.Columns.?

or

string[] columnNames = from DataColumn dc in dt.Columns select dc.name;
Run Code Online (Sandbox Code Playgroud)

.net c# linq datatable

96
推荐指数
3
解决办法
20万
查看次数

ComboBox- SelectionChanged事件具有旧值,而不是新值

C#,.NET 4.0,VS2010.

WPF新手.我的MainWindow上有一个ComboBox.我挂钩了所说组合框的SelectionChanged事件.但是,如果我检查事件处理程序中组合框的值,它具有旧值.这听起来更像是一个"SelectionChanging"事件,而不是SelectionChanged事件.

如何在选择实际发生后获取ComboBox的新值?

目前:

this.MyComboBox.SelectionChanged += new SelectionChangedEventHandler(OnMyComboBoxChanged);

...
private void OnMyComboBoxChanged(object sender, SelectionChangedEventArgs e)
{
    string text = this.MyComboBox.Text;
}
Run Code Online (Sandbox Code Playgroud)

注意,如果我使用在事件args,egeOriginalSource中传递的对象,我会得到相同的行为.

c# wpf combobox .net-4.0 selectionchanged

83
推荐指数
6
解决办法
17万
查看次数

收集被修改; 枚举操作可能无法在ArrayList中执行

我正在尝试删除一个项目ArrayList,我得到这个例外:
Collection was modified; enumeration operation may not execute.

有任何想法吗?

c# collections enumeration exception

78
推荐指数
6
解决办法
17万
查看次数

如何使用.NET Timer类在特定时间触发事件?

我想在我的应用程序中触发一个事件,该事件在某一时间持续运行,比如说在下午4点.我想过每秒运行一次计时器,当时间等于下午4点时,运行该事件.这样可行.但我想知道是否有一种方法可以在下午4:00获得回调,而不必继续检查.

.net c# timer

42
推荐指数
4
解决办法
6万
查看次数

以编程方式为DataGrid中的行指定颜色

我需要为运行时添加到DataTable的行指定一种颜色.如何才能做到这一点?

wpf datagrid row colors

20
推荐指数
2
解决办法
5万
查看次数

如何重置table.DefaultView.RowFilter?

下面的代码工作正常并正确过滤行但是如何将表恢复到其原始状态?

DataTable table = this.dataGridView1.DataSource as DataTable;
table.DefaultView.RowFilter = comboBox.Text + " LIKE '%" + strName + "%'";
Run Code Online (Sandbox Code Playgroud)

谢谢

c# datatable defaultview reset rowfilter

16
推荐指数
1
解决办法
3万
查看次数

如何以编程方式在WPF DataGrid中选择行或单元格?

在WinForm DataGridView中,它会在初始化时自动选择第一行.当我试图关掉这个功能时,它让我抓狂.转移到WPF DataGrid,似乎微软决定关闭这个功能,这是我认为的好事.但是,我现在很难启用此功能.对于某些DataGrid,我希望在通过数据绑定填充网格后自动选择第一行.互联网上有一些建议,但我无法做到这一点.我希望在这里有更好的运气.

c# wpf select datagrid row

10
推荐指数
1
解决办法
5万
查看次数

键盘焦点到DataGrid

我有一个WPF DataGrid,并希望将焦点设置为第一个项目,以便用户可以在第一次打开对话框时使用项目列表中的键盘进行导航.使用datagrid.Focus(); 我可以将焦点设置为DataGrid,但这显然不是键盘焦点,因为当我按下箭头键时,我无法在DataGrid中导航.焦点跳转到文本框"描述",但这不是我想要的(见图片).

在此输入图像描述

如何以正确的方式将焦点和键盘焦点设置到DataGrid?谢谢您帮忙.

c# keyboard wpf datagrid focus

8
推荐指数
1
解决办法
6698
查看次数

有没有办法自动占用WrapPanel中的空白区域?

WrapPanel的子项按顺序填充,如附加的屏幕截图.

因此,根据每个孩子的长度,面板会留出很长的空白.

如何利用空白区重新安排孩子们?

到目前为止,似乎只有少数人使用WrapPanel而且没有足够的例子.

这有什么自动方式吗?或者我只需要制作自己的算法?

WrapPanel在显示事物方面起着非常重要的作用,但显示空间有限.

谢谢 !

在此输入图像描述

c# wpf children space wrappanel

8
推荐指数
1
解决办法
355
查看次数

C#WPF)动态添加控件时,有时会丢失DropShadowEffect

在此输入图像描述

foreach (DataRow dr in dt.Rows)
{
    Rectangle rectangle_timeline = new Rectangle();
    rectangle_timeline.Height = 19;
    rectangle_timeline.Cursor = Cursors.Hand;

    rectangle_timeline.Effect = new DropShadowEffect
    {
        Color = new Color { A = 255, R = 0, G = 0, B = 0 },
        Direction = 315,
        ShadowDepth = 5,
        Opacity = 1
    };

    Grid_Timeline.Children.Add(rectangle_timeline);
}
Run Code Online (Sandbox Code Playgroud)

我动态添加一个带有上面简单代码的Rectangle,如图所示.

然而,有时,随机地,没有DropShadowEffect的矩形像黄色矩形和最低的1个蓝色矩形.

在您看到代码时,如果添加了一个矩形,则必须使用DropShadowEffect的代码.

我想知道为什么会这样.

谢谢 !

XAML代码添加了 -

<Grid x:Name="Grid_Timeline" ScrollViewer.VerticalScrollBarVisibility="Auto" UseLayoutRounding="True" Width="1159" HorizontalAlignment="Left" VerticalAlignment="Top" SnapsToDevicePixels="True">
</Grid>
Run Code Online (Sandbox Code Playgroud)

增加了重新制作的最小代码 -

private void Window_Loaded(object sender, RoutedEventArgs e)
{
        int count_each_category …
Run Code Online (Sandbox Code Playgroud)

c# wpf dynamic dropshadoweffect

8
推荐指数
2
解决办法
384
查看次数