小编fhn*_*eer的帖子

双击datagrid wpf如何找到标题或行

我在wpf应用程序中添加了一个datagrid.

<DataGrid ItemsSource="{Binding Projects}" SelectedItem="{Binding SelectedProject}" MouseDoubleClick="DataGrid_MouseDoubleClick" />
Run Code Online (Sandbox Code Playgroud)

这是我背后的代码

private void DataGrid_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    if selected row is header
        then do this
    else
        do this
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是我是如何知道哪一个是双击的.它是标题或行.我怎么能找到它.

c# wpf datagrid

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

用法?? 运算符(null-coalescing operator)

我用 ??我的代码非常重视运算符.但今天我刚遇到一个问题.

这里我用的代码是什么?操作者

private List<string> _names;
public List<string> Names
{
    get { return _names ?? (_names = new List<string>()); }
}
Run Code Online (Sandbox Code Playgroud)

但在某些地方我也看过这个代码.

private List<string> _names;
public List<string> Names
{
    get { return _names ?? new List<string>(); }
}
Run Code Online (Sandbox Code Playgroud)

这些代码之间的真正区别是什么.在一个我分配_names = new List()而在其他我正在做新的List().

.net c# null-coalescing-operator

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

将锯齿状数组转换为列表

我有一个锯齿状的数组,我想将其转换为一个简单的列表.

int[][] jaggedArray = new int[][] 
{
    new int[] {1,3,5,7,9},
    new int[] {0,2,4,6},
    new int[] {11,22}
};
Run Code Online (Sandbox Code Playgroud)

我想转换成一个列表

List<int> list = ?????
Run Code Online (Sandbox Code Playgroud)

将二维数组转换为List(一维)的快速方法

此问题将二维数组转换为列表,但这对于锯齿状数组来说是失败的.

c# arrays list jagged-arrays multidimensional-array

3
推荐指数
2
解决办法
2279
查看次数

不要在下下文菜单中将下划线视为Alt

我正在尝试填充我ConextMenu的代码.我在其中添加了一些MenuItems内容.A MenuItem包含字符串和事件.所以我面临的问题是,如果字符串包含下划线(_),则菜单将其视为alt键.因此,在上下文菜单中,我看到下划线后面的字符.

e.g. MenuItem.Header = "Some Command_With"
Output = "Some CommandWith" (Where W of With is underlined)
Run Code Online (Sandbox Code Playgroud)

这是代码.

var menuName = Some String Generated on run time;
var contextMenu = GetContextMenu();
var menuItem = new MenuItem { Header = menuName };
contextMenu.Items.Add(menuItem);
Run Code Online (Sandbox Code Playgroud)

有人告诉我,我可以设置MenuItem模板.但我不确定如何做到这一点.

c# contextmenu itemtemplate

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

在visual studio 2010中使用microsoft chess

我想在visual studio 2010中使用microsoft国际象棋框架.它在2008年运行良好,但它的支持不适用于visual studio 2010.有没有办法使用它.

unit-testing visual-studio-2010

2
推荐指数
1
解决办法
1122
查看次数

使用左移运算符将F转换为FF

我有UINT64变量.在开始时,它被初始化为0xF.现在我想根据一些输入在运行时更改它.它的值会在运行时增加.但我想要的是它应该从F变为FF,从FF变为FFF,应该附加一个F.

现在这是我的代码.

UINT64 mapFileSize = 0xF;
while (mapFileSize < someUserInput)
    // add one F to mapFileSize;
Run Code Online (Sandbox Code Playgroud)

我该怎么写呢 我正在尝试左移操作员,但它不能正常工作.

mapFileSize <<= 1;
Run Code Online (Sandbox Code Playgroud)

我这样做但这并没有给我想要的结果.

c++ bit-shift

2
推荐指数
1
解决办法
318
查看次数

一侧有一个按钮,StackPanel另一侧有其他按钮

我正在研究WPF应用程序.StackPanel我的xaml文件中有一个.在StackPanel中有三个按钮.问题是所有按钮都在左侧或右侧.我想要的是一个按钮是左侧的一个按钮和右侧的两个按钮.

<StackPanel Orientation="Horizontal" FlowDirection="RightToLeft" >
    <Button Content="Open"/>
    <Button Content="Close"/>
    <Button Content="Help"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

这样的输出是这样的. 产量

你可以看到左侧有很多空间.我希望我的帮助按钮位于极左侧,最右侧是关闭和打开.我想我可以通过实现一个网格或类似的东西来做到这一点,但我想问我是否可以只使用堆栈面板来做到这一点.

c# wpf xaml stackpanel

2
推荐指数
1
解决办法
1116
查看次数

在C#中将double转换为float,给出错误的值

问题很简单.我有一个双人,我想转换为浮动.

double doubleValue = 0.00000000000000011102230246251565;
float floatValue = (float)doubleValue;
Run Code Online (Sandbox Code Playgroud)

现在,当我这样做.浮动价值只是疯了.它的值是" 1.110223E-16 "我是否需要为此流量做一些额外的事情.值应为0或0.1,但不在此处.这有什么问题?

c# double type-conversion

2
推荐指数
1
解决办法
1325
查看次数

转动一堆原点

我有包含页面的x和y位置的点列表.我想对所有这些点相对于页面的任何枢轴点应用旋转(目前我们假设它的中心).

var points = new List<Point>();
points.Add(1,1);
points.Add(15,18);
points.Add(25,2);
points.Add(160,175);
points.Add(150,97);

const int pageHeight = 300;
const int pageWidth = 400;
var pivotPoint = new Point(200, 150); //Center

var angle = 45; // its in degree.

// Apply rotation.
Run Code Online (Sandbox Code Playgroud)

我在这需要一些配方吗?

c#

2
推荐指数
1
解决办法
3345
查看次数

使用缩进在文本文件中写入文本(C#代码)

可能重复:
在文本中格式化C#代码?

修改问题:我有一个包含C#代码的输入文本文件.代码不缩进.我已阅读所有文本,现在想将此文本(代码)写回文本文件,但缩进.

如果我有输入,那就说吧.

void myFunction(string a)
{
a = "abc";
              for (int i=0; i<2; i++)
{
     a += "a";
   }
              }
Run Code Online (Sandbox Code Playgroud)

输出应该是(在文本文件中.)

void myFunction(string a)
{
    a = "abc";
    for (int i=0; i<2; i++)
    {
        a += a";
    }
}
Run Code Online (Sandbox Code Playgroud)

我不是在谈论在Visual Studio中格式化代码.我正在谈论将其写入带缩进的文本文件.

.net c# formatting file-io file

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