小编J4N*_*J4N的帖子

如何在不使用TaskCreationOptions.AttachedToParent的情况下等待所有任务(创建的任务和子任务)

我将不得不创建一个创建多个Task的并发软件,每个Task都可以生成另一个任务(也可以生成另一个Task,...).

我需要调用启动任务的方法阻塞:在完成所有任务和子任务之前不返回.

我知道有这个TaskCreationOptions.AttachedToParent属性,但我认为它不适合:

服务器至少会有8个内核,每个任务都会创建2-3 AttachedToParent个子任务,所以如果我设置了选项,我的印象是第二个子任务不会在第一个子任务的三个任务之前启动结束.所以我在这里将进行有限的多任务处理.

所以使用这个进程树:

在此输入图像描述

我的印象是,如果我每次启动一个线程时都设置了AttachedToParent属性,那么在E,F,G完成之前B不会结束,所以C将在B完成之前启动,而我将只有3个活动线程而不是8个我可以有.

如果我没有放置AttachedToParent属性,A将很快完成并返回.

那么如果我没有设置这个选项,我怎么能确保我总是使用我的8个内核呢?

.net c# parallel-processing task-parallel-library thread-synchronization

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

取消一些CSS样式

对于一个项目,我必须使用定义的样式表。我无法对其进行编辑,我必须接受它。

但是,有些样式不适用于此网站(例如,边距)。

我也创建了自己的CSS文件,该文件将覆盖其中的某些属性。

一个例子,如果我有这个:

<div id="main-content" class="container">My test text</div>
Run Code Online (Sandbox Code Playgroud)

以及css文件中的以下css指令:

div.container{margin:5px}
div#main-content{margin-left:235px; ...}
Run Code Online (Sandbox Code Playgroud)

我想在MY CSS中定义div#main-content没有此边距,但它是默认值。

我该怎么办?我不想这样做,margin-left:0px因为如果我具有全局样式(假设所有人div.container都应具有5px的边距,我希望它适用于我以前的div。这些数据可能会发生变化。

html css

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

ImageMagick:是否可以删除"裁剪标记"?

我正在使用ImageMagick创建一个PDF的拇指.

/opt/local/bin/convert \
   "$inputFile[0]"     \
  -geometry 157x200    \
  -colorspace RGB      \
   "$ThumbFile"
Run Code Online (Sandbox Code Playgroud)

但最后我们得到了带有"裁剪标记"的PDF(用于出血).

有没有我可以选择不选择的选项?

我怎样才能做到这一点?

例:

在此输入图像描述

我想只有第二张图片的内容.

pdf bash imagemagick

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

即使用户控件折叠/隐藏也会显示错误样式

我有一个用户控件来验证它的内容。

我正在使用 IDataErrorInfo 来验证输入(我必须使用 .Net 3.5)。

我正在关注本教程:http : //japikse.blogspot.ch/2009/07/idataerrorinfo-error-templates-and-wpf.html

这意味着我正在使用以下样式:

<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
    <Trigger Property="Validation.HasError" Value="true">
        <Setter Property="Background" Value="Pink"/>
        <Setter Property="Foreground" Value="Black"/>
    </Trigger>
</Style.Triggers>
<Setter Property="Validation.ErrorTemplate">
    <Setter.Value>
        <ControlTemplate>
            <DockPanel LastChildFill="True" 
               ToolTip="{Binding ElementName=controlWithError,Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
                <TextBlock DockPanel.Dock="Right" 
                   Foreground="Red"
                   FontSize="14pt" 
                   Margin="-15,0,0,0" FontWeight="Bold">*
                </TextBlock>
                <Border BorderBrush="Red" BorderThickness="1">
                <AdornedElementPlaceholder Name="controlWithError" />
                </Border>
            </DockPanel>
        </ControlTemplate>
    </Setter.Value>
</Setter>
Run Code Online (Sandbox Code Playgroud)

问题是,在某些情况下,我必须隐藏表单(当没有选择任何元素时),但是当我显示的表单没有错误时,然后我折叠表单(网格),UserControls 中的文本框(这是无效的,因为它们不接受空值)得到红色边框和星号:

在此处输入图片说明

未隐藏时的相同形式: 在此处输入图片说明 请注意:只有 ErrorTemplate 的内容是可见的,触发器的内容(粉红色背景,黑色前景)不适用。

所以我认为这种风格有问题,但我对 WPF 风格不够熟悉,不知道为什么。

另一个奇怪的事情:如果我有具有相同验证的文本框(而不是用户控件中的文本框),它们会被正确隐藏。

编辑 我发现了一些对我有很大帮助的其他东西,首先,这个主题: 隐藏控件时隐藏验证装饰 有了这个,我做了以下事情:将我的用户控件可见性绑定到隐藏元素可见性,然后在用户控件中,我将文本框可见性绑定到用户控件可见性,然后(最后),我添加一个样式触发器:

<Style TargetType="{x:Type TextBox}">
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="true">
                <Setter Property="Background" Value="Pink"/>
                <Setter Property="Foreground" Value="Black"/>
            </Trigger> …
Run Code Online (Sandbox Code Playgroud)

validation wpf styles idataerrorinfo

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

WPF DataGrid:指定默认排序

我有一个UserControl,它基本上只包含一个DataGrid。在此DataGrid中,我有一个事件列表(严重性-日期-消息)。用户控制是通过结合ViewModelLocatorMVVMLight Toolkit

我添加了两件事:

在我的UserControl资源中:

<UserControl.Resources>
    <CollectionViewSource x:Key="SortedEvents" Source="{Binding Events}">
        <CollectionViewSource.SortDescriptions>
            <componentModel:SortDescription PropertyName="EventTime" Direction="Descending"/>
        </CollectionViewSource.SortDescriptions>
    </CollectionViewSource>
</UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)

由DataGrid使用:

<DataGrid ItemsSource="{Binding Source={StaticResource SortedEvents}}" AutoGenerateColumns="False" >
Run Code Online (Sandbox Code Playgroud)

我也有SortedDirection设置DataGridTextColumn.SortDirection

<DataGridTextColumn Binding="{Binding EventTime}"  Header="Time" IsReadOnly="True" SortDirection="Descending"/>
Run Code Online (Sandbox Code Playgroud)

当我检查设计器时,我看到一个小箭头,表明DataGrid已正确排序。

但是,当我启动该应用程序时,列表未排序,箭头不在此处。如果我单击该列以对其进行排序,那么它将对所有内容正确地进行排序,只是默认值似乎无效。

我想念什么?(这个dataGrid / column甚至都没有命名,因此我无法尝试通过其他方式对其进行编辑)。

(最初,我只在SortDirection上使用DataGridTextColumn。结果相同)

c# sorting wpf datagrid

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

TFS/Visual Studio:在解决方案中移动文件而不执行"添加 - 删除"

我们最近不得不做一些重构,暗示我们也移动了一些文件.

所以在一个分支中,我们做了所有改变.在后备箱中,我们继续正常工作,但看起来在合并时会引起很多麻烦,因为文件在旧位置上显示为已移除并添加到新位置,因此合并非常困难.

在解决方案中移动文件时,正确的方法是什么?

merge tfs refactoring tfs2010 visual-studio-2013

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

处理ViewModel的模式?

我们与Prism一起启动了WPF项目,但我遇到了一个问题:

有时,在ViewModel中,我们注册了一些事件或已启动的服务,这些事件或服务在关闭前必须停止。这意味着,当我关闭应用程序时,我需要释放在ViewModel中获取的资源。这样,Dispose将会具有很多意义。

目前,我正在使用ViewModelLocator.Autowire = TruePrism,并且我在考虑不再需要View时,将在需要时将其处置。

我有两种情况:

  • 当我“导航”到视图时(RegionManager.RequestNavigate("RegionName", "RegionUri")
  • 当我在视图中使用“子视图”(这是一个具有自己的ViewModel的UserControl)时

我的问题是:处置那些ViewModel的正确方法是什么?我可以看到多种方法,但是我不确定哪一种是正确的。

c# wpf prism mvvm prism-6

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

在Net Core中解析pdf

我有一个Asp.Net核心项目。该项目引用了另一个库,我应该在其中从pdf中提取信息。我正在使用itextsharp,但似乎与.net核心不兼容。

知道如何从pdf文件中提取文本吗?

pdf .net-core asp.net-core

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

什么是 Jenkins BlueOcean 中的“分支索引”活动

我正在詹金斯蓝海中设置多分支管道。一切都开始运转良好。

我注意到的一件事是,有一段时间,我会执行名为“Branch indexing”的作业。

我的构建包含一些繁重的单元测试和代码覆盖率,需要大约 4 小时 30 分才能执行,因此将这项工作随机执行 2 次并不是很好(甚至没有考虑到我们有 6-8 个活动分支,所以这意味着处决只会堆叠。

所以:

1) 那些处决是什么?2)这是绝对必要的吗?3)我可以禁用它吗?

jenkins jenkins-pipeline jenkins-blueocean

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

如何解决“装饰器不支持函数调用,但调用了‘StoreModule’。”

我有一个有角度的 (7) 项目。

在我的 package.json 中,我定义了一个命令:

{
  "name": "xxx",
  "version": "0.1.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build-prod": "ng build --prod",
    "test": "ng test",
    "test-ci": "ng test --no-watch --no-progress --browsers=ChromeHeadlessNoSandbox",
    "e2e-ci": "ng e2e --protractor-config=e2e/protractor.conf.js",
    "deploy": "firebase deploy --token $FIREBASE_TOKEN --non-interactive",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  [...]
}
Run Code Online (Sandbox Code Playgroud)

当我npm run build-prod在本地运行时,一切都很好。

现在我尝试在我的 gitlab CI 上执行此代码。

为此我有以下内容.gitlab-ci.yml

image: node:10

build:
  stage: build
  cache:
    paths:
      - node_modules/
  script:
    - npm install --quiet
    - npm …
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci gitlab-ci-runner angular-cli angular

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