小编sed*_*vav的帖子

在WPF用户控件库中的UserControl之间共享资源的最简单方法是什么?

有一个WPF用户控件库和两个(或更多)用户控件.我需要在两个用户控件中使用相同的样式.我该如何分享这种风格?例如:

这是风格:

<Style x:Key="customLabelStyle" TargetType="Label">
    ...
</Style>
Run Code Online (Sandbox Code Playgroud)

用户控制A:

<UserControl x:Class="Edu.Wpf.Example.UserControlA"
   ...xmlns stuff... >
   <Grid>
      ... some xaml markup...
      <Label Style="{StaticResource customLabelStyle}"/>
   </Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

UserControl B:

 <UserControl x:Class="Edu.Wpf.Example.UserControlB"
   ...xmlns stuff... >
   <Grid>
      ... some another xaml markup...
      <Label Style="{StaticResource customLabelStyle}"/>
   </Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

那么如何在不涉及应用程序app.xaml资源字典的情况下在库中的用户控件之间共享此样式?

UPDATE

我可以将Themes\Generic.xaml添加到我的库中并在那里定义样式.但在这种情况下,我必须使用ComponentResourceKey作为样式的关键.对?它很长而且不是很方便的表达......

wpf user-controls resourcedictionary

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

如何在Slick 3.0.0中使用StaticQuery?

在Slick 2.1中,我有以下代码从文件执行sql-query:

def fetchResult[T](sql: String)(implicit getResult: GetResult[T]): List[T] = {
    val query = Q.queryNA[T](sql)
    try {
        Database.forDataSource(DB.getDataSource())
            .withSession { implicit session => query.list }
    }
    catch {
      case e: Throwable =>
        throw new RunSqlException(s"Query $name execution error", e)
    }
}
Run Code Online (Sandbox Code Playgroud)

在Slick 3.0.0中,您使用dbConfig.db.run方法来执行DBIOAction并获得结果的未来.但是我找不到将Q.queryNA(也就是StaticQuery[Unit, R])的结果转换成的方法DBIOAction.这样的方式存在吗?

我现在结束了不赞成的电话.帮助我变得更好!

def fetchResult[T](sql: String)(implicit getResult: GetResult[T]): Future[List[T]] = Future {
    val query = Q.queryNA[T](sql)
    try {
        this.dbConfig.db.withSession { implicit session => query.list }
    }
    catch {
      case e: Throwable =>
        throw new RunSqlException(s"Query …
Run Code Online (Sandbox Code Playgroud)

scala slick typesafe slick-3.0

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

如何在 Kotlin DSL 中读取虚线 Gradle 属性?

我可以从gradle.propertieswith读取val myProperty by settings,这很好!但是如果属性名称包含点呢?考虑下一个gradle.properties文件:

kotlin.incremental=true
kotlin.incremental.js=true
kotlin.incremental.multiplatform=true
Run Code Online (Sandbox Code Playgroud)

如何在settings.gradle.kts脚本中读取上面的这些属性?

properties gradle kotlin gradle-kotlin-dsl

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

将 CloudWatch 日志流事件传输到另一个系统时如何保留它们的顺序?

故事

我有运行产生 stdout/stderr 输出的 docker 容器的 ECS 任务。这些任务配置为使用 awslogs 驱动程序将输出发送到 CloudWatch。CW 日志组上有一个订阅过滤器,订阅者是将日志移动到 S3 存储桶的 Firehose 流。该流附加了一个 AWS Lambda 以批量处理 CW 事件。lambda 解析日志事件并将解析的数据发送到另一个系统进行索引。我想保留解析数据的顺序,但不知道如何实现。

我的第一种方法是将 CW 事件时间戳值包含到解析的数据中,然后在目标系统中对其进行排序。事实证明这是不够的,因为可能有许多具有相同时间戳的后续 CW 事件(在同一日志流中) - CW 时间戳值默认基于毫秒。

在 lambda 中处理批次的 CW 事件期间,它们在批次中的顺序是已知的,我的第二种方法是用订单号丰富解析数据中的时间戳 - 因此具有相同时间戳的事件将具有不同的订单号。这个解决方案很快就暴露了它的弱点 - 可能有多个处理 lambda 的实例在来自 Firehose 流的不同日志事件批次上并行工作。流的一个分片 - 处理 lambda 的一个实例。因此,不可能有一个简单的计数器来保存多个并行执行的 lambda 之间的日志事件顺序。

我发现的下一件事是 CW 日志事件 ID 是唯一的、基于数字的和递增的值。我还没有找到对这一事实的任何确认,所以这只是对 AWS Web 控制台中 CW UI 行为的观察。CW API 甚至使用 ID 作为后向和前向令牌,因此 ID 应该是可比较的实体。

问题

  • 我可以使用 ID 在外部系统中进行排序吗?恐怕日志 ID 的这种增加性质只是 CW API 的内部实现,将来可能会发生变化。
  • 我能否以某种方式在 ECS 任务中配置 awslogs 驱动程序以在 …

amazon-web-services amazon-cloudwatch aws-lambda amazon-kinesis-firehose

6
推荐指数
0
解决办法
678
查看次数

如何从Groovy AST ClassNode获取具体类?

我为它创建了一个注释和一个Groovy AST转换.此注释仅适用于类.转换在SEMANTIC_ANALISIS阶段工作,应该创建一个新类.我需要的是从ClassNode获取带注释的Groovy类的具体类型(java.lang.Class).但是,如果我尝试调用classNode.getTypeClass()转换的访问方法,则在编译时出现异常"在设置类型类之前调用​​MyEntity获取ClassNode#getTypeClass".获取此类信息的正确方法是什么?

java groovy abstract-syntax-tree

5
推荐指数
0
解决办法
287
查看次数