小编Mor*_* M.的帖子

如何使用Visual Studio"合并"XAML文件及其代码隐藏

我有一个名为'MyTemplate.xaml'的XAML文件中定义的模板.此模板使用名为"MyTemplate.cs"的代码隐藏文件.

Mytemplate.xaml:

<ResourceDictionary x:Class="Project.Templates.MyTemplate">
    <DataTemplate ... />
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

MyTemplate.cs:

namespace Project.Templates
{
    public partial class MyTemplate : ResourceDictionary
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

在Visual Studio解决方案资源管理器中,这两个文件是并排的.我想要做的是将这两个文件放在一起,就像使用Control及其代码隐藏一样.

是)我有的: 在此输入图像描述

我想拥有什么: 在此输入图像描述

最好的方法是什么?谢谢.

wpf xaml code-behind visual-studio

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

使用C#SQLite DataReader和附加数据库迭代结果的性能问题

我使用System.Data.SQLite,并SQLiteDataReader在我的C#项目.在使用附加数据库获取查询结果时,我遇到了性能问题.

以下是将文本搜索到两个数据库的查询示例:

ATTACH "db2.db" as db2;

SELECT MainRecord.RecordID,
((LENGTH(MainRecord.Value) - LENGTH(REPLACE(UPPER(MainRecord.Value), UPPER("FirstValueToSearch"), ""))) / 18) AS "FirstResultNumber",
((LENGTH(DB2Record.Value) - LENGTH(REPLACE(UPPER(DB2Record.Value), UPPER("SecondValueToSearch"), ""))) / 19) AS "SecondResultNumber"
FROM main.Record MainRecord
JOIN db2.Record DB2Record ON DB2Record.RecordID BETWEEN (MainRecord.PositionMin) AND (MainRecord.PositionMax)
WHERE FirstResultNumber > 0 AND SecondResultNumber > 0;

DETACH db2;
Run Code Online (Sandbox Code Playgroud)

使用SQLiteStudio或SQLiteAdmin执行此查询时,此工作正常,我在几秒钟内得到结果(记录表可以包含数十万条记录,查询返回36000条记录).

在我的C#项目中执行此查询时,执行也需要几秒钟,但运行所有结果需要几个小时.

这是我的代码:

// Attach databases

SQLiteDataReader data = null;

using (SQLiteCommand command = this.m_connection.CreateCommand())
{
    command.CommandText = "SELECT...";
    data = command.ExecuteReader();
}

if (data.HasRows)
{
    while (data.Read()) …
Run Code Online (Sandbox Code Playgroud)

c# sqlite performance datareader system.data.sqlite

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

带有Process的InvalidOperationException

我正在使用以下代码启动一个新进程:

Process p = new Process();
p.StartInfo.FileName = "...";
p.StartInfo.Arguments = "...";
p.Start();
p.WaitForExit(300000); // 5 minutes

if (!p.HasExited) 
    p.Kill();
Console.Write(p.ExitCode);
Run Code Online (Sandbox Code Playgroud)

当过程在5分钟内结束时,这是有效的,但是当它没有时,我得到了

InvalidOperationException(进程必须在确定请求的信息之前退出...).

知道为什么我得到这个例外吗?

谢谢.

c# process invalidoperationexception

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