小编Dzm*_*voi的帖子

如果快速单击多次,ChildWindow关闭按钮事件处理程序将执行多次

ChildWindow已将CloseButton和处理程序分配给Click事件.代码(仅举例):

声明关闭按钮:

<Button x:Name="CloseButton" Click="OnCloseButtonClick" />
Run Code Online (Sandbox Code Playgroud)

专用计数器(用于诊断问题):

private uint _i;
Run Code Online (Sandbox Code Playgroud)

关闭事件处理程序

OnCloseButtonClick(object sender, RoutedEventArgs e)
{
     DialogResult = true;
     System.Diagnostics.Debug(_i++);
}
Run Code Online (Sandbox Code Playgroud)

快速点击程序后可以输出"1","2","3"等...正如我所知,在设置DialogResult= true(或false)之后,应该关闭ChildWindow并且不应该有任何方法来提升CloseButton的Click事件第二次.

任何人都可以帮助我找出问题的原因并帮助解决它没有bool标志(执行/!执行)?

.net c# silverlight event-handling

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

WebBrowser打印设置

如何使用WebBrowser控件更改我的html文档方向(到横向)以进行打印.

var browser = new WebBrowser();
browser.DocumentCompleted += (sender, args) =>
    {
        var ws = sender as WebBrowser;
        //change paper size and orientation
        ws.Print();
    };
browser.Navigate(path);
Run Code Online (Sandbox Code Playgroud)

我需要在打印前将纸张尺寸格式更改为C5并将方向更改为横向.如何在没有任何对话框的情况下执行此操作?

.net c# printing webbrowser-control

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

从查询字符串获取UTC日期时间

假设我们有行动:

[HttpGet]
public Task<IActionResult> Foo(DateTime date)
{
    var utc = date.ToUniversalTime();
}
Run Code Online (Sandbox Code Playgroud)

似乎默认情况下,MVC框架将UTC DateTime转换为Local(中间件中的某处)。如何关闭此行为并摆脱其他转换?

UPD:

Chrome开发人员。控制台(“网络”选项卡)向我显示了这样的查询参数: date:2017-12-01T00:00:00.000Z

但是在控制器中我看到: {01/12/2017 03:00:00}

c# asp.net asp.net-mvc asp.net-core

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

powershell函数参数类型

具有以下功能:

function appendToSB([System.Text.StringBuilder]$sb,
                    [string]$value){
    [void]$sb.append($value)
    $sb
}

$sb = new-object -typename system.text.stringbuilder
$sb = appendToSb($sb, "1,")

$sb.tostring() | out-host
Run Code Online (Sandbox Code Playgroud)

我想使用我的函数使用StringBuilder构建字符串,但我收到以下错误:

appendToSB:无法处理参数'sb'上的参数转换.无法将ty pe"System.Object []"的"System.Object []"值转换为"System.Text.StringBuilder"类型.在E:\ powershell\test.ps1:8 char:11 + appendToSb([system.text.stringbuilder] $ sb,"1,")+ ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidData :( :) [appendToSB],ParameterBindingArgumentTransformationException + FullyQualifiedErrorId:ParameterArgumentTransformationError,appendToSB

有没有人可以解释函数/函数参数/返回值如何在powershell中工作?

powershell

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

中介器/事件聚合器的区别

此外,当我需要在松散耦合的对象(例如MVVMViewModel 的)之间进行通信时,有关最佳编程实践的不同书籍和博客建议使用 Mediator/EventAggregator 模式。我的问题是关于这些模式之间的差异/关系。谁能为我描述一下?

.net wpf design-patterns mvvm loose-coupling

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

MEF 4.5中缺少CompositionInitializer.我可以用什么呢?

我无法在.NET 4.5中找到System.ComponentModel.Composition.Initialization.dll(其中包含CompositionInitializer类的声明).是否已从.NET 4.5中的MEF中删除此程序集?我现在如何组成标有[导出]和[导入]属性的应用程序的部分?

假设我有这个观点:

    internal partial class StartWindow : Window
    {
        public StartWindow()
        {
            InitializeComponent();
            DataContext = ViewModel;
        }

        [Import]
        public IStartWindowViewModel ViewModel { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

和适当的ViewModel:

    [Export]
    internal class StartWindowViewModel : IStartWindowViewModel
    {
        public IEnumerable<Customer> Customers { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我应该在我的shell(或其他地方)添加什么来组成这些部分?

.net c# dependency-injection mef mvvm

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

F#管道运算符如何工作

有一个代码:

 //e = 1/2*Sum((yi -di)^2)
    let error y d =
        let map = 
            Array.map2 (fun y d -> (y - d) ** 2.0) y d
        let sum = 
            Array.sum map
        (sum / 2.0)

    let error2 y d =
        Array.map2 (fun y d -> (y - d) ** 2.0) y d
        |> Array.sum
        |> (/) 2.0
Run Code Online (Sandbox Code Playgroud)

我理解这些功能应该产生相同的结果,但结果有很大的不同.有谁能解释一下?

ps简化示例:

let test = [|1..10|]
    let res = test
                |> Array.sum
                |> (/) 5
Run Code Online (Sandbox Code Playgroud)

我希望test = 11(sum(1..10)= 55然后是55/5)但是在Array.sum管道不能正常工作之后(结果test = 0).

f# pipeline

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

容器如何实际解决ILogger <T>

在ASP.NET Core 2中,当我们谈论日志记录时,仅通过注册提供程序ILoggerFactory.AddProvider()或使用适当的扩展方法就足够了.然后你就可以解决ILogger<T>(没有注册关闭ILogger<>的).我正在努力与ILoggerFactory.CreateLogger<T>调用和实际ILogger<T>解决之间的桥梁:似乎某处魔术发生,但我没有找到.有任何想法吗?

c# asp.net-core

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

ActionResult参数含义

ControllerBase类具有一堆类似CreatedCreatedAtAction需要value参数的方法。

[NonAction]
public virtual CreatedAtActionResult CreatedAtAction(string actionName,
            string controllerName,
            object routeValues,
            object value)
{
            return new CreatedAtActionResult(actionName, controllerName, routeValues, value);
}
Run Code Online (Sandbox Code Playgroud)

它的文档(确实很差)说:

要在实体主体中格式化的值。

我不明白该参数代表什么?实际上,既不在CreatedAtActionResult类本身内,也没有在基类内使用它。此外,没有方法重载允许不使用它。

asp.net-core-mvc asp.net-core

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