小编Tod*_*ang的帖子

了解Bootstrap的clearfix类

.clearfix {
  *zoom: 1;
  &:before,
  &:after {
    display: table;
    content: "";
    // Fixes Opera/contenteditable bug:
    // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
    line-height: 0;
  }
  &:after {
    clear: both;
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 为什么不用display:block
  2. 另外,为什么它也适用于::before伪类?

less clearfix twitter-bootstrap

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

如何在UserControl和父窗口之间绑定WPF命令

我首先让照片做一些谈话.

MVVM用户控制到窗口线框

所以你看,我想创建一个支持绑定到父窗口的DataContext的WPF用户控件.用户控件只是一个Button和一个带有自定义ItemTemplate的ListBox,用于显示带有Label和Remove Button的东西.

"添加"按钮应调用主视图模型上的ICommand,以便在选择新事物(IThing实例)时与用户进行交互.用户控件中ListBoxItem中的Remove按钮应该类似地调用主视图模型上的ICommand以请求删除相关内容.要使其工作,"删除"按钮必须向视图模型发送有关请求删除的事物的一些标识信息.因此,有两种类型的Command应该可绑定到此控件.像AddThingCommand()和RemoveThingCommand(IThing的东西).

我使用Click事件获得了功能,但是感觉很麻烦,在XAML背后产生了一堆代码,并且与原始MVVM实现的其余部分相冲突.我真的想要正常使用命令和MVVM.

有足够的代码来完成一个基本的演示工作,我暂缓发布整个事情来减少混乱.什么工作使我觉得我离我很近是ListBox的DataTemplate正确地绑定了Label,当父窗口将项目添加到集合时,它们会显示出来.

<Label Content="{Binding Path=DisplayName}" />
Run Code Online (Sandbox Code Playgroud)

虽然它正确显示了IThing,但当我单击它时,它旁边的Remove按钮什么都不做.

<Button Command="{Binding Path=RemoveItemCommand, RelativeSource={RelativeSource AncestorType={x:Type userControlCommands:ItemManager }}}">
Run Code Online (Sandbox Code Playgroud)

这并不是非常意外,因为没有提供特定项,但Add按钮不必指定任何内容,也无法调用该命令.

<Button Command="{Binding Path=AddItemCommand, RelativeSource={RelativeSource AncestorType={x:Type userControlCommands:ItemManager }}}">
Run Code Online (Sandbox Code Playgroud)

所以我需要的是Add按钮的"基本"修复,以便它调用父窗口的命令来添加一个东西,以及更复杂的Remove按钮修复,以便它也调用父命令但也传递它的约束.

非常感谢任何见解,

data-binding wpf xaml mvvm wpf-controls

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

Async/Await与WinForms ProgressBar

我在过去使用BackgroundWorker得到了这种类型的东西,但是我想使用.NET 4.5的新async/await方法.我可能正在咆哮错误的树.请指教.

目标:创建一个组件,该组件将执行一些长时间运行的工作,并在执行工作时显示带有进度条的模态表单.该组件将获取窗口的句柄,以便在执行长时间运行的工作时阻止交互.

状态:请参阅下面的代码.在我尝试与windows进行交互之前,我以为自己做得很好.如果我把事情单独处理(即不要触摸!),一切都"完美"运行,但是如果我点击任一窗口,程序会在长时间运行结束后挂起.忽略实际交互(拖动),就好像UI线程被阻止一样.

问题:我的代码可以很容易修复吗?如果是这样,怎么样?或者,我应该使用不同的方法(例如BackgroundWorker)吗?

代码(Form1是带有ProgressBar和公共方法的标准表单,UpdateProgress,用于设置ProgressBar的值):

using System;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ConsoleApplication1
{
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Starting..");
        var mgr = new Manager();
        mgr.GoAsync();
        Console.WriteLine("..Ended");
        Console.ReadKey();
    }
}

class Manager
{
    private static Form1 _progressForm;

    public async void GoAsync()
    {
        var owner = new Win32Window(Process.GetCurrentProcess().MainWindowHandle);
        _progressForm = new Form1();
        _progressForm.Show(owner);

        await Go();

        _progressForm.Hide();
    }

    private async Task<bool> Go()
    {
        var job = new LongJob();
        job.OnProgress += …
Run Code Online (Sandbox Code Playgroud)

c# multithreading asynchronous winforms async-await

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

为什么在安装autofac时我的所有web.configs都使用程序集重定向进行更新?

我刚刚将autofac安装到我的一个项目中,称之为项目A,在我使用nuget的解决方案中.出于某种原因,我的所有web.config文件,我在解决方案中有多个Web应用程序和api,使用像这样的程序集重定向更新:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)

这意味着程序集重定向是什么意思?解决方案如何知道所有这些web.config文件需要更新?是因为我的Web应用程序引用了项目A吗?

autofac nuget

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

Visual Studio 2012假货 - 如何验证方法被调用?

使用Moq,我习惯于将mocks设置为Verifiable.如您所知,当您希望确保被测代码实际上在依赖项上调用方法时,这很方便.

例如在Moq:

// Set up the Moq mock to be verified
mockDependency.Setup(x => x.SomethingImportantToKnow()).Verifiable("Darn, this did not get called.");
target = new ClassUnderTest(mockDependency);
// Act on the object under test, using the mock dependency
target.DoThingsThatShouldUseTheDependency();
// Verify the mock was called.
mockDependency.Verify();
Run Code Online (Sandbox Code Playgroud)

我一直在使用VS2012的"Fakes Framework"(由于缺乏更好的名称),这是非常光滑的,我开始更喜欢Moq,因为它似乎更具表现力,使Shims变得容易.但是,我无法弄清楚如何重现类似于Moq的Verifiable/Verify实现的行为.我在Stubs上找到了InstanceObserver属性,这听起来可能就像我想要的那样,但截至9/4/12都没有文档,我不清楚如何使用它,如果它甚至是正确的.

任何人都能指出我做正确的方向,如Moq Verifiable/Verify VS2012的假货?

- 9/5/12编辑 -
我意识到问题的解决方案,但我仍然想知道是否有一种内置的方法来使用VS2012 Fakes.如果可以的话,我会把这个开放一段时间让某人声称.这是我的基本想法(如果不编译就道歉).

[TestClass]
public class ClassUnderTestTests
{
    private class Arrangements
    {
        public ClassUnderTest Target;
        public bool SomethingImportantToKnowWasCalled = false;  // Create a flag!
        public Arrangements()
        {
            var mockDependency = new …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq mocking visual-studio-2012

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

QTAGENT.EXE使用所有可用的CPU

我很擅长用VS加载测试,但我认为我已经正常设置了所有内容,并且我遇到了一个问题,即我的负载测试执行速度很快达到了100%的CPU利用率.这似乎可能会影响我的测试结果,我认为这不是预期的行为.

我的硬件平台是一个强大的开发人员机器:几个月大的四核,12GB RAM,2个IDE驱动器和一个快速NIC.如果有必要,我可以详细说明,但通常我会说它尖叫.

我正在使用VS2010 SP1,C#/ .NET 4测试一个在Win7 x64本地运行的MVC2/3应用程序,针对MSSQL 2008.

基础测试是一个单元测试,它运行单个MVC控制器方法,该方法使用Unity和其他Ent-Lib库根据用户的权限从数据库中提取客户端集合.单元测试的典型执行时间为0.4到0.6秒.

设置负载测试以暴露性能问题并运行10分钟:

  • 初始用户数:1
  • 步骤持续时间:30
  • 步骤用户数:1

观察:

  1. 作为单个用户的前30秒,执行有点不稳定.第一次测试需要3秒,这是正常的预热.接下来的15个左右需要大约.4秒,这是完美的.然而,在10秒之后,测试开始运行5秒.这是第二个虚拟用户开始之前.随着额外的虚拟用户的加入,测试时间逐渐增加,这是可以预期的,尽管运行时间似乎仍然很长.

  2. 更令人担忧的是,CPU利用率在用户6周围飙升(在所有8个核心之前平均约为20%).在用户6和7处,CPU达到70%并且由用户8在8个核上固定为100%,并且它保持在那里直到测试在10分钟后结束.毋庸置疑,对于正常的步进测试,我想从10个并发用户开始,然后达到100或更多,但我的CPU开始时为100%,结果肯定是不准确的.

正如我从执行任务中可以看到的那样,杯子显然是QTAGENT.EXE.它使用我所看到的每个备用CPU周期.我也在32位模式下运行此负载测试,QTAGENT32.EXE运行类似.

我不知道为什么我遇到这个问题,更不用说该怎么做了.任何提案或解决方案表示赞赏.TIA!

编辑

我发现我的问题的解决方法是通过单击"调试测试"而不是"运行测试"来启动负载测试.这对我来说没有任何意义,事实上它就像我期望的那样; 但是,我不能否认它一直在用100个用户运行我的测试,只是半打我的CPU(平均约50%的尖峰).

unit-testing load-testing visual-studio-2010 microsoft-test-manager

5
推荐指数
2
解决办法
7444
查看次数

从C++ Win32调试托管组件

我有一个用VC++编写的Win32 EXE.我有用C#编写的实现.我有VC++ EXE消耗C#DLL,如下所述:http://support.microsoft.com/kb/828736.效果很好,但我需要能够调试.两个项目都加载到相同的.SLN中,但C#中的断点永远不会被命中.有没有办法在VS2012中调试它?

c# c++ debugging winapi com-interop

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

什么是“通用应用程序”?

我一直在阅读有关 React 和 Redux 的内容,他们提到了“通用应用程序”。例如:

\n\n
\n

“您\xe2\x80\x99可能需要一个(反)序列化机制来编写通用应用程序并从服务器中获取其状态......”\n(来自http://rackt.org/redux/docs/introduction/PriorArt .html )

\n
\n\n

什么是通用应用程序?

\n

reactjs redux

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