小编C1r*_*dec的帖子

合并网格列

嗨,我一直在寻找一个没有成功的解决方案......

我想要一个类似于的网格:

+-------+----------------+
|       |                |
+-------+----------------+
|                        |
|                        |
|                        |
+-------+----------------+
|       |                |        
+-------+----------------+
Run Code Online (Sandbox Code Playgroud)

先感谢您!

c# wpf grid xaml

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

在.NET应用程序中处理大型数组的性能

我不确定这是否是我遇到的一个基本问题,但我现在几天都无法解决这个问题......

我目前正在用C#编写.NET库(使用.NET 3.5).除此之外,它还包括将三重Int32数组(每个几MB)写入远程缓存(memcached服务器)和读回这些数组的功能.问题是,即使memcached服务器在本地计算机上运行,​​我可以提出的每个实现花费大约1.2秒来写入10MB数据,另外大约1.2秒用于读取相同数据.

但是,为了比较性能,我只需写入剪贴板就将写入替换为缓存服务器,并注意到执行写入仍需要1.2秒.我打电话给测试方法(如下所示),包括一个stopwatch开始/停止基准测试.方法是:

public void writeCachedImageData(int[,] atoms, int[,] noAtoms, int[,] dark, int cameraID, int runID, int seqID)
{

  Clipboard.SetData(DataFormats.Serializable, atoms);
  Clipboard.SetData(DataFormats.Serializable, noAtoms);
  Clipboard.SetData(DataFormats.Serializable, dark);

}
Run Code Online (Sandbox Code Playgroud)

对于基准测试,每个阵列为1000x1000.基本上,我的问题是:

1)从这次测试得出的结论是否正确,我的瓶颈是某种方式从应用程序到外部的数据传输速率?和

2)如果是这样,我可以做些什么来提高从应用程序到剪贴板或最终memcached服务器的数据传输速率?

.net c# arrays

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

命令栏太小时隐藏动作标签

预期的行为

预期的行为

这就是我想用CommandBar实现的目标.

当物品标签没有足够的空间时,我想隐藏标签,而不是进入溢出菜单.当我调整CommandBar的大小时,如果有足够的空间,我希望标签重新出现.

我可以使用iconOnlyprops和onReduceData回调来隐藏标签.

然后我尝试使用它onGrowData来恢复iconOnlycommandBar调整大小的时间,但由于溢出中没有项目,因此永远不会调用回调.

目前的行为

在此输入图像描述

这是简化代码:

<CommandBar
className='CommandBar'
items={[{
    iconProps: { iconName: 'Previous' },
    key: 'FindPrevious',
    onClick: () => { this.findPrevious() },
    text: 'Find Previous',
},
{
    iconProps: { iconName: 'Next' },
    key: 'FindNext',
    onClick: () => { this.findNext() },
    text: 'Find Next',
}]}
farItems={[{
    iconProps: { iconName: 'Search' },
    key: 'FindAll',
    onClick: this.findAll,
    text: 'Find All',
}]}

onReduceData={this.onReduceData}
/>

private onReduceData = (data: ICommandBarData): any => {
    data.primaryItems[0].iconOnly …
Run Code Online (Sandbox Code Playgroud)

reactjs office-ui-fabric

6
推荐指数
0
解决办法
124
查看次数

基本WPF应用程序需要10秒才能打开(.NET 4.5)

下面是这样的情况:我只使用一个<LabeL>显示Hello Word 的简单网格构建一个基本的WPF应用程序!

这是XAML:

<Window x:Class="TestShell.NoCaliburn.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>
        <Label VerticalAlignment="Center" HorizontalAlignment="Center">Hello World!</Label>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

在我的机器上,我安装.Net 4.5了,应用程序出现在一秒钟之内.但是在我的同事机器上,应用程序出现在≈10s之后.

  • 我试图在我的同事机器上修复.Net框架
  • 运行此命令(NGEN更新)
  • 在不同的.NET版本下编译应用程序
  • 以32位和64位编译应用程序.

注意 此行为仅在WPF中发生

我错过了什么?

.net c# wpf ngen

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

如何从实际的对象列表中创建一个对象属性的列表?

我有一个我定义的ObservableCollection对象Connection.

如何从该列表中的所有连接中提取所有URL?

我想以正确的方式做类似的事情:

ObservableCollection<Connection> connectionList;
List<string> listUrl = new List<string>();

foreach (var connection in connectionList)
{
    listUrl.Add(connection.PortalUrl);
}
Run Code Online (Sandbox Code Playgroud)

c# linq list

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

Caliburn.Micro更新2.0.1到2.0.2出错了

嗨,今天我决定更新Caliburn.Micro nuget包.

但从那以后我的所有按钮/控制都被打破了.

没有更多约束力!此外,每次我点击一个按钮时,都会抛出此异常.

在此输入图像描述

<Button x:Name="LeftImport" HorizontalAlignment="Left" Grid.Column="3" Style="{DynamicResource MetroCircleButtonStyle}" Width="30" Height="30" BorderThickness="0">
    <Button.ToolTip>
        <ToolTip>
            <StackPanel>
                <TextBlock FontWeight="Bold">Import</TextBlock>
                <TextBlock>Import a package</TextBlock>
            </StackPanel>
        </ToolTip>
    </Button.ToolTip>
    <Rectangle Width="20" Height="20" Fill="White">
        <Rectangle.OpacityMask>
            <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_download}" />
        </Rectangle.OpacityMask>
    </Rectangle>
</Button>
Run Code Online (Sandbox Code Playgroud)

注意 我使用Caliburn.Micro.Start来安装2.0.1

我没有解决方案.

c# wpf caliburn.micro

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

XDocument如何评论元素

我只想知道如何使用XDocument对整个元素进行注释.

XDocument doc = XDocument.Parse("<configuration>
      <connectionString>
          ...
      </connectionString>
<configuration>");

/*Something like that*/ doc.Root.Element("connectionStrings").NodeType = XComment; /*??*/
Run Code Online (Sandbox Code Playgroud)

c# linq-to-xml

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

WPF 按钮工具提示 InitialShowDelay 不起作用

有我的按钮:

<Button  Style="{DynamicResource MetroCircleButtonStyle}" HorizontalAlignment="Right" Grid.Column="3"  Width="40" Height="40" Command="{Binding NewConnectionCommand}">
                <Rectangle Width="20" Height="20">
                    <Rectangle.Fill>
                        <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_add}" />
                    </Rectangle.Fill>
                </Rectangle>
                <Button.ToolTip>
                    <ToolTip ToolTipService.InitialShowDelay="5000">
                        <StackPanel>
                            <TextBlock FontWeight="Bold">Add connection</TextBlock>
                            <TextBlock>Open the dialog to create the new connection.</TextBlock>
                        </StackPanel>
                    </ToolTip>
                </Button.ToolTip>
            </Button>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将 initialShowDelay 设置为 5000 毫秒,就像你们看到的那样,但工具提示总是在默认时间显示......

我做错了什么?

wpf button tooltip

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

如何在控制器内的操作中返回两种类型的数据?

所以,我的控制器里面有一个ActionResult,它应该从我的数据库中获取现有的值并将参数返回给视图.

我的方法称为ReadMeasurements,它抓取角度和点数据.如果存在/非空,我想返回角度和点数据.

我注意到我现在设置它的方式,我只返回我的角度数据,因为当角度数据和点数据不为空时,代码只返回角度数据而不返回点数据.

如何在方法中返回角度和点数据?

这是我的代码:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult ReadMeasurements([DataSourceRequest] DataSourceRequest request, string viewType)
{
    JsonResult json = new JsonResult();
    List<AngleData> angledata = UserSession.GetValue(StateNameEnum.Planning, ScreenName.Planning.ToString() + "Angles" + viewType, UserSessionMode.Database) as List<AngleData>;
    List<PointData> pointData = UserSession.GetValue(StateNameEnum.Planning, ScreenName.Planning.ToString() + "Points" + viewType, UserSessionMode.Database) as List<PointData>;

    if (angledata != null)
    {
        List<PlanningViewParam> angles = new List<PlanningViewParam>();
        foreach (AngleData i in angledata)
        {
            string col = "#" + ColorTranslator.FromHtml(String.Format("#{0:X2}{1:X2}{2:X2}", (int)(i.color.r * 255), (int)(i.color.g * 255), (int)(i.color.b …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc json

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

保存word文档的例外情况

当我执行以下代码以保存word文件后发生异常.请帮助我纠正问题.谢谢.

当访问是FileAccess.Read时,无法使用FileMode.Create,FileMode.CreateNew,FileMode.Truncate,FileMode.Append获取流.

using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(path, false))
{
    string docText = null;
    using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
    {
        docText = sr.ReadToEnd();
    }

    //Regex regexText = new Regex("<var_Date>");
    docText = docText.Replace("<var_Date>", DateTime.Now.ToString("MMM dd,yyyy"));

    using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
        sw.Write(docText);
} 
Run Code Online (Sandbox Code Playgroud)

.net c# openxml

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

C#(async/await)循环在任务块我的主线程?

private async Task<PortalODataContext> CallConnection(Connection connection)
    {
        bool cancel = false;
        connection.Connected = true;
        var task = getConnection(connection);

        while (!cancel && !task.IsCompleted)
        {
            Thread.Sleep(100);

            if (connection.Disconected)
            {
                cancel = true;
            }
        }

        return await task;
    }
Run Code Online (Sandbox Code Playgroud)

这是我在主线程上调用的函数,如下所示:

PortalODataContext portalContext = await this.CallConnection(connectionOpen);
Run Code Online (Sandbox Code Playgroud)

我是async的新手,等待所以我只想弄清楚为什么我的任务"CallConnection"会阻止我的主UI线程...你能帮助我吗?

哦,还有GetConnection:

private Task<PortalODataContext> getConnection(Connection connection)
    {            
        return Task.Factory.StartNew(() =>
        {
            try
            {
                var context = connection.ConnectToPortal();
                connection.ListTemplateLib = this.ShellModel.ConnectionManager.GetTemplateLibrarys(connection);
                connection.ListTemplateGrp = this.ShellModel.ConnectionManager.GetTemplateGroups(connection, connection.TemplateLibraryId);
                connection.ListTemplates = this.ShellModel.ConnectionManager.GetTemplates(connection, connection.TemplateGroupId);
                return context;
            }
            catch (Exception)
            {
                throw;
            }
       });
Run Code Online (Sandbox Code Playgroud)

提前致谢

c# multithreading asynchronous async-await

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

如何在没有 LOOP 的情况下取消任务

嗨,我一直在论坛上阅读了很多,但我无法找到问题的答案...

这是我想在布尔值变为 TRUE 时取消的函数:

Task<PortalODataContext> task = Task.Factory.StartNew(() =>
        {
            var context = connection.ConnectToPortal();
            connection.ListTemplateLib = this.ShellModel.ConnectionManager.GetTemplateLibrarys(connection);
            connection.ListTemplateGrp = this.ShellModel.ConnectionManager.GetTemplateGroups(connection, connection.TemplateLibraryId);
            connection.ListTemplates = this.ShellModel.ConnectionManager.GetTemplates(connection, connection.TemplateGroupId);
            return context;
       }, token);
Run Code Online (Sandbox Code Playgroud)

如何在没有 LOOP 的情况下验证令牌是否收到取消请求?

类似的东西:

if (token.IsCancellationRequested)
{
    Console.WriteLine("Cancelled before long running task started");
    return;
}

for (int i = 0; i <= 100; i++)
{
    //My operation

    if (token.IsCancellationRequested)
    {
        Console.WriteLine("Cancelled");
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我没有需要循环的操作,所以我不知道该怎么做......

c# async-await cancellation-token

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