小编Pet*_*ter的帖子

WPF在Windows XP和Windows 7上的呈现方式不同

为什么WPF在Windows XP和Windows 7上呈现不同?

我在两台计算机上都使用.NET SP1 ..

我的布局就像这个窗口没有工具栏,并设置为最大化,因此它适合整个屏幕.

在那之下,我有一个Viewbox设置为使用Stretch:Uniform,在我之下我有我的LayoutRoot.

这样我希望在所有计算机上获得相同的布局,但它似乎在Windows XP上的呈现方式完全不同.有些项目有点小,布局看起来不那么好.

我试图将我的Windows 7计算机上的重新设置更改为与Windows XP计算机相同,并保持其应有的布局.

两台计算机都使用96 DPI.

Windows XP

Windows 7的

wpf rendering windows-xp windows-7

12
推荐指数
3
解决办法
9883
查看次数

使用C#读取RAR文件的内容

有没有办法读取RAR文件的内容(支持多文件RAR是必须的)?

我不想将内容提取到磁盘,只是像流一样读取它.

c# rar stream

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

获取蓝牙comport名称

有没有办法枚举所有的蓝牙COM端口并得到他们的名字?而且我不是说COM10,在这种情况下,我的意思是GNSS:51622 'GNSS Server'.

蓝牙对话框

使用32Feet我已经能够找到端口的名称,但仍然没有运气将它们映射到实际的COM端口.

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Connecting to Bluetooth");
        var client = new BluetoothClient();
        Console.WriteLine("DiscoverDevices");
        var devices = client.DiscoverDevices();
        Console.WriteLine("Enumerating");
        foreach (var device in devices)
        {
            if (!device.DeviceName.StartsWith("GNSS"))
                continue;
            Console.WriteLine(device.DeviceName);
            try
            {
                Console.WriteLine("Getting serial ports");
                var serviceRecords = device.GetServiceRecords(BluetoothService.SerialPort);
                foreach (var serviceRecord in serviceRecords)
                {
                    var name = GetName(serviceRecord);
                    Console.WriteLine(name);
                }

            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to get SerialPort");
                Console.WriteLine(ex.ToString());
            }
        }
        Console.ReadKey();
    }

    private static string GetName(ServiceRecord serviceRecord) …
Run Code Online (Sandbox Code Playgroud)

c# windows bluetooth

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

将当前程序集加载到不同的AppDomain中

我创建了AppDomain一个不同的基目录.但是,我似乎无法将当前正在执行的程序集加载到其他AppDomain中,而没有基本目录中当前正在执行的程序集的副本.我甚至试图从字节加载它.

我尝试加载时没有异常,但是当我尝试使用时:

domain.DoCallBack(new CrossAppDomainDelegate(... 
Run Code Online (Sandbox Code Playgroud)

我明白了:

无法加载文件或程序集............系统找不到指定的文件.

我的代码如下:

private static void SaveAssemblies(Assembly ass, List<byte[]> assemblyByteList)
{
    AssemblyName[] assNames = ass.GetReferencedAssemblies();
    foreach (AssemblyName assName in assNames)
    {
        Assembly referedAss = Assembly.Load(assName);
        if (!referedAss.GlobalAssemblyCache)
        {
            SaveAssemblies(referedAss, assemblyByteList);
        }
    }
    byte[] rawAssembly = File.ReadAllBytes(ass.Location);
    assemblyByteList.Add(rawAssembly);
}

public static AppDomain CreateAppDomain(string dir, string name)
{
    AppDomainSetup domainSetup = new AppDomainSetup();
    domainSetup.ApplicationBase = dir;
    domainSetup.ApplicationName = Path.GetFileName(dir);
    domainSetup.PrivateBinPath = Path.Combine(dir, "Libs");

    AppDomain domain = AppDomain.CreateDomain(name, null, domainSetup);
    //Load system assemblies needed for the module …
Run Code Online (Sandbox Code Playgroud)

.net c# appdomain

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

计算加密数据的最大大小

有没有办法计算固定阵列长度的Rijndael加密的最大结果?

加密方法:RijndaelManaged

填充:PKCS7

CipherMode:CBC

BlockSize 128

KeySize:128

我需要这个即时转换数据库,其中所有字符串将被加密,所以我需要更改所有字符串字段的大小.

encryption math aes rijndael rijndaelmanaged

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

Visual Studio更改日期和时间格式

在Visual Studio 2005/2008/2010/1012/2013中工作时,日期和时间以mm/dd/yyyy hh:MM:ss格式显示.有没有办法将其更改为与计算机相同的设置?

我感兴趣的显示日期位于Watch窗口中.我的系统是非英语的,但Visual Studio 2005的安装是英文的.因此,即使我有不同的日期格式,此设置也不会影响VS.

提示 快速计划1 快速观察2

电脑时钟

电脑设置

visual-studio-2010 visual-studio visual-studio-2012 visual-studio-2013

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

XNA线段交叉?

假设我们有4个Vector2(是的,这是2d),所以我们有lineOneStart,lineOneEnd,lineTwoStart和lineTwoEnd.

如何检测2条线是否交叉?我不在乎他们在哪里交叉,我只是想知道他们是否相交.

c# math xna

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

UriBuilder.Query

我在.NET中发现了一个奇怪的行为UriBuilder

Senario 1:

 Dim uri As New UriBuilder("http://www.test/login.aspx")
 uri.Query = "?test=Test"
 Dim url As String = uri.ToString()
Run Code Online (Sandbox Code Playgroud)

运行此代码后,url字符串包含"http://www.test/login.aspx ?? test = Test"

解决方法是不添加?.

Senario 2:

 Dim uri As New UriBuilder("http://www.test/login.aspx?test=123")
 uri.Query += "&abc=Test"
 Dim url As String = uri.ToString()
Run Code Online (Sandbox Code Playgroud)

运行该代码之后我们还有两个?的 "http://www.test:80/login.aspx的??测试= 123&ABC =测试".

在使用uri构建器时,我做错了吗?

.net uribuilder

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

在Windows中获取char值句柄

在linux中,我们有gatttool查询蓝牙低功耗设备的工具.如果我们运行,gatttool --device=[MAC] --characteristics我们将获得相应设备具有的特征列表.示例输出:

handle = 0x0002, char properties = 0x02, char value handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb
handle = 0x0004, char properties = 0x02, char value handle = 0x0005, uuid = 00002a01-0000-1000-8000-00805f9b34fb
handle = 0x0006, char properties = 0x0a, char value handle = 0x0007, uuid = 00002a02-0000-1000-8000-00805f9b34fb
handle = 0x0008, char properties = 0x02, char value handle = 0x0009, uuid = 00002a04-0000-1000-8000-00805f9b34fb
handle = 0x000d, char properties = 0x22, char value handle = 0x000e, uuid …
Run Code Online (Sandbox Code Playgroud)

c# bluetooth-lowenergy gatt windows-10 gatttool

8
推荐指数
0
解决办法
545
查看次数

.NET格林威治标准时间

有没有办法在1970年1月1日格林威治标准时间到达日期?

如果我只是指定新的日期(1970,1,1),我会用我当前的时区来获取它.

c# datetime

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