小编Whi*_*uit的帖子

如何在整个WPF应用程序中重用样式?

我想在我的应用程序的几个地方使用下面的代码段(可从/sf/answers/257257731/找到).而不是在任何地方复制/粘贴,我怎么能把它放在一个地方并在各种XAML文件中引用特定的列表框(按键?)?

<ListBox....> 
    <ListBox.Resources> 
            <Style TargetType="ListBoxItem"> 
                <Setter Property="Template"> 
                    <Setter.Value> 
                        <ControlTemplate TargetType="ListBoxItem"> 
                            <Border Name="Border" Padding="2" SnapsToDevicePixels="true"> 
                                <ContentPresenter /> 
                            </Border> 
                            <ControlTemplate.Triggers> 
                                <Trigger Property="IsSelected" Value="true"> 
                                    <Setter TargetName="Border" Property="Background" 
                                            Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/> 
                                </Trigger> 
                            </ControlTemplate.Triggers> 
                        </ControlTemplate> 
                    </Setter.Value> 
                </Setter> 
        </Style> 
    </ListBox.Resources> 
</ListBox> 
Run Code Online (Sandbox Code Playgroud)

.net wpf

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

如何使用身份验证在ESP8266上发布到RESTful API?

我可以从浏览器输入此URL,输入凭据后,它会成功调用我的API http://172.16.0.40/rest/vars/set/1/12/666

我正在尝试使用HTTPClient从ESP8266进行此操作。我的凭据是username:password,我使用了一个在线转换实用程序来获取dXNlcm5hbWU6cGFzc3dvcmQ =

当执行时,以下返回错误701(不知道那是什么)。

HTTPClient http;
http.begin("172.16.0.40", 80, "/");
http.addHeader("Content-Type", "text/plain");
http.addHeader("Authorization", "dXNlcm5hbWU6cGFzc3dvcmQ=");
auto httpCode = http.POST("rest/vars/set/1/12/999");
Run Code Online (Sandbox Code Playgroud)

如果我注释掉Authorization标头,则会得到401,这是未经授权的访问。我究竟做错了什么?

http-post esp8266 arduino-esp8266

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

是否可以在 Powershell 多行命令中使用注释?

在 Powershell ISE 中调试和测试多行命令多年来一直困扰着我。我喜欢多行命令,因为它们易于阅读,但它们使调试变得更加困难。例如,我使用以下命令来获取早于$days(顺便说一下)的文件夹。

$dirs = Get-ChildItem $targetDir -Directory -exclude *.ps1 `
    | Where CreationTime -gt (Get-Date).AddDays(-1 * $days) `
    | Sort-Object -Property LastWriteTime
Run Code Online (Sandbox Code Playgroud)

我想更改AddDaysAddMinutes测试不同的结果集,但我想保留原始行,以便我可以轻松地来回切换。下面我复制了我想保留的行并将其注释掉,并在新行上更改AddDaysAddMinutes添加#中断多行功能。有没有一种简单的方法可以解决这个问题,我不必剪切复制的行并将其从命令中“移出”?或者有没有办法将命令拆分/拆分为多行?

$dirs = Get-ChildItem $targetDir -Directory -exclude *.ps1 `
#    | Where CreationTime -gt (Get-Date).AddDays(-1 * $days) `
    | Where CreationTime -gt (Get-Date).AddMinutes(-1 * $days) `
    | Sort-Object -Property LastWriteTime
Run Code Online (Sandbox Code Playgroud)

(由于注释掉的行,以上不起作用)

powershell powershell-ise

4
推荐指数
3
解决办法
1714
查看次数

如何查看 GitHub 上的提交图表?

有没有办法git tree在 GitHub 上查看命令?

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
Run Code Online (Sandbox Code Playgroud)

git github

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

WCF 错误处理和访问类对象

我已经使用 IErrorHandler 实现了一些基本的 WCF 错误处理,我可以在其中获取堆栈跟踪并记录它,但是我还想从导致异常的类中记录一些其他信息。

例如,假设我的服务中有以下课程:

Class Foo
    Public User As String
    Public PhoneNumber As String

    Public Function Bar() As Boolean
        Dim c As Collection 'intentionally not set to an object to cause an error below
        c.Add(PhoneNumber)
        Return True
    End Function
End Class
Run Code Online (Sandbox Code Playgroud)

我发现了以下错误:

  Public Function HandleError(ByVal [error] As System.Exception) As Boolean Implements ystem.ServiceModel.Dispatcher.IErrorHandler.HandleError
        'Log ex.tostring to event log
         'How can I access User and PhoneNumber?
        Return False
    End Function
Run Code Online (Sandbox Code Playgroud)

我现在有了错误的堆栈跟踪。但是我如何才能访问 User 和 PhoneNumber?虽然堆栈跟踪很有帮助,但在错误报告系统中引用导致错误的基础数据是最重要的。

.net error-handling wcf

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

如何在LINQ中使用Math.X函数?

我有一个简单的表(SQL服务器和EF6) Myvalues,列Id(双)

我正在尝试获取此表中所有值的自然对数的总和.我的LINQ声明是:

            var sum = db.Myvalues.Select(x => Math.Log(x.Value)).Sum();
Run Code Online (Sandbox Code Playgroud)

编译很好,但我得到一个RTE:

LINQ to Entities无法识别方法'Double Log(Double)'方法,并且此方法无法转换为商店表达式.

我做错了什么/我该如何解决这个问题?

FWIW,我可以直接对数据库执行以下SQL查询,这给了我正确的答案:

select exp(sum(LogCol)) from
    (select log(Myvalues.Value) as LogCol From Myvalues 
) results
Run Code Online (Sandbox Code Playgroud)

linq entity-framework

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

如何从此字符串中删除转义字符?

我有一个名为参数的字符串,我需要发送给进程.我的论点是建立的,当我从立即窗口检查值时,我得到了这个:

argument
" -i \"M:\\visual studio 2013\\cherry\\Database\\script.sql\" -v varDb=foobar"
Run Code Online (Sandbox Code Playgroud)

我想要的是:(用\替换\和\替换\"和")

argument
" -i "M:\visual studio 2013\cherry\Database\script.sql" -v varDb=foobar"
Run Code Online (Sandbox Code Playgroud)

我有点尴尬,我不得不问这个,但我已经尝试了各种各样的.Replace和regex表达式.

c#

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

寻找一个linq解决方案来取代for循环

我总是遇到这样的例子.在这种情况下,我想在一个先前加载的名为files的变量中为每个FileInfo对象填充一个带有新行的stringbuilder ,当然这包含一堆FileInfo对象.对于第一个对象,我想在文本之后添加FIRST,然后为我要添加NOTFIRST的其他内容添加.要使用forloop执行此操作,我必须设置一个计数器,执行if语句并递增计数器.

我已经学会了足够的linq,它在我的手指尖,但我知道必须有一个优雅的 LINQ解决方案.

            var mysb = new StringBuilder();
            var count = 0;
            string extra;
            foreach (System.IO.FileInfo fi in files)
            {
                var newLine = fi.Name;
                if (count == 0)
                    extra = "FIRST";
                else
                    extra= "NOTFIRST";
                count = count++;
                mysb.AppendLine(string.Format("({0} {1})", newLine, extra));
            }
Run Code Online (Sandbox Code Playgroud)

c# linq

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

如何自动更新局部视图?

我正在尝试转换我的一个MVC页面,以便它每10秒自动更新一次数据.这是调用"主"视图的方法.

    public ActionResult Index()
    {
        return View("SomeView", new SomeViewModel { Rows = GetSomeInfo() });
    }
Run Code Online (Sandbox Code Playgroud)

这是SomeView

@Html.Partial("SomeView",Model)
Run Code Online (Sandbox Code Playgroud)

部分视图消耗模型

@model DatabaseConnectionMonitor.Models.TestDbModel
@foreach(var row in @Model.Rows)......
Run Code Online (Sandbox Code Playgroud)

现在我如何连接所有这些,以便部分视图自动刷新?有很多(似乎已经过时)的方法可以接受这个,我希望遵循当前的最佳实践.我的研究告诉我,我应该使用jquery unobtrusive ajax来做到这一点.

asp.net-mvc jquery

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

你能通过网格在LinqPad中插入/更新/删除行吗?

也许这超出了LinqPad的目的,但它是否具有SQL Management Studio中提供的此功能?

我想要获取一些快速数据,但不想编写代码来执行此操作.我只想输入它.

linqpad

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