小编Nic*_*kon的帖子

WPF TreeView刷新

我有一个问题.我TreeView在我的WPF项目中用来可视化我的XML数据.问题是,当我编辑我的XmlDocument时候它没有刷新TreeView.但我注意到,当我检查时SelectedNode,它是我的编辑和XmlNode.所以我的"编辑"方法工作正常,但我的树的视觉刷新只有一个问题..Refresh()或者.Items.Refresh()也不工作.

这是我树的模板:

<DataTemplate x:Key="AttributeTemplate">
    <StackPanel Orientation="Horizontal"
            Margin="3,0,0,0"
            HorizontalAlignment="Center">
        <TextBlock Text="{Binding Path=Name}"
             Foreground="{StaticResource xmAttributeBrush}" FontFamily="Consolas" FontSize="8pt" />
        <TextBlock Text="=&quot;"
             Foreground="{StaticResource xmlMarkBrush}" FontFamily="Consolas" FontSize="8pt" />
        <TextBlock Text="{Binding Path=Value, Mode=TwoWay}"
             Foreground="{StaticResource xmlValueBrush}" FontFamily="Consolas" FontSize="8pt" />
        <TextBlock Text="&quot;"
             Foreground="{StaticResource xmlMarkBrush}" FontFamily="Consolas" FontSize="8pt" />
    </StackPanel>
</DataTemplate>

<HierarchicalDataTemplate x:Key="NodeTemplate">
    <StackPanel Orientation="Horizontal" Focusable="False">
        <TextBlock x:Name="tbName" Text="?" FontFamily="Consolas" FontSize="8pt" />
        <ItemsControl
            ItemTemplate="{StaticResource AttributeTemplate}"
            ItemsSource="{Binding Path=Attributes}"
            HorizontalAlignment="Center">
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal"/>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
        </ItemsControl>
    </StackPanel> …
Run Code Online (Sandbox Code Playgroud)

c# xml wpf treeview

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

TypeScript和ExactEqual

如果两个对象相等,如何以最简单的方式检查?我注意到没有方法ExactEqual(),所以我想知道我是否应该手动操作.

谢谢你的帮助!

javascript typescript

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

TypeScript 中的输出和引用

可能的重复:
打字稿:如何通过引用传递函数参数?

我想知道是否有out- 和ref-like 关键字TypeScript?如果没有,如何模仿它们?

typescript

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

用于手势识别的HMM算法

我想开发一个使用Kinect和手势识别的应用程序hidden Markov models.我在这里看了一个教程:HMM讲座

但我不知道如何开始.什么是状态集以及如何规范化数据以实现HMM学习?我知道(或多或少)应该如何处理信号和简单的"从左到右"的情况,但3D空间让我有点困惑.谁能形容它应该如何开始?

谁能形容这些步骤,怎么做?特别是我需要知道如何做模型以及HMM算法的步骤应该是什么.

algorithm gesture-recognition gestures hidden-markov-models kinect

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

根据新ASP.NET 5项目中的配置名称构建后事件

我正在为3台智能电视编写一个统一的项目.我还创建了3个配置Visual Studio.现在我想CLI根据所选配置执行一些脚本.

问题是在新ASP.NET 5项目中我没有用于后期构建事件的编辑器.

我知道我必须这样做project.json.我发现的是:

  "scripts": {
    "postbuild": ""
  }
Run Code Online (Sandbox Code Playgroud)

但是使用这个我不能CLI为不同的配置创建不同的脚本.

我发现了:

  "configurations": {
  },
Run Code Online (Sandbox Code Playgroud)

我猜这可能是我想要的,但是...如何使用它?Intellisense在这里没有权力,我也不幸在网上搜索......

[编辑]

也许我应该试试.xproj

post-build-event visual-studio buildconfiguration asp.net-core

6
推荐指数
2
解决办法
3423
查看次数

使用LINQ从XML获取max属性值

我有以下XML文件.我想要Max("NR")使用LINQ.任何人都可以帮我这样做吗?我知道如何为节点做这个,但属性让我感到困惑......:S

<?xml version="1.0" encoding="utf-8"?>
<SMPyramid LayerName="qwe" LayerPath="D:\#PYRAMID\qwe" Extension=".png" Meters="100000" RasterSize="4000">
  <Level NR="0" RasterXSize="512" RasterYSize="512" LastTileXSize="416" LastTileYSize="416" MinX="400000" MaxX="500000" MinY="1200000" MaxY="1300000" ScaleFactor="25" TilesCountX="8" TilesCountY="8" />
  <Level NR="1" RasterXSize="512" RasterYSize="512" LastTileXSize="323" LastTileYSize="323" MinX="400000" MaxX="499980.9024" MinY="1200019.0976" MaxY="1300000" ScaleFactor="34.679466666666663" TilesCountX="6" TilesCountY="6" />
  <Level NR="2" RasterXSize="512" RasterYSize="512" LastTileXSize="414" LastTileYSize="414" MinX="400000" MaxX="499738.14613333333" MinY="1200261.8538666666" MaxY="1300000" ScaleFactor="69.358933333333326" TilesCountX="3" TilesCountY="3" />
  <Level NR="3" RasterXSize="512" RasterYSize="512" LastTileXSize="206" LastTileYSize="206" MinX="400000" MaxX="499599.42826666665" MinY="1200400.5717333332" MaxY="1300000" ScaleFactor="138.71786666666665" TilesCountX="2" TilesCountY="2" />
  <Level NR="4" RasterXSize="358" RasterYSize="358" LastTileXSize="358" LastTileYSize="358" MinX="400000" MaxX="499321.99253333331" …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-xml

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

实现所有接口成员

我有一个TypeScript接口.问题是它有大约40个成员.当我使用它并且我只实现选择的成员时,我得到一个错误,有一些缺失.怎么忽略它?我必须全部实施吗?此问题阻止我将一种类型转换为另一种类型.

例如

interface A {
   // 40 members
}

class B implements A {
   // only 5 members implemented
}

// somewhere in the code
var myVar1: A = something;
var myVar2: B = <B> myVar1; // here an error (can't convert because B has missing some properties and methods:/)
Run Code Online (Sandbox Code Playgroud)

typescript

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

在React Redux应用程序中使用OAuth2刷新令牌

我有一个已OAuth2实施的应用程序.它工作正常,但我在refresh_tokens这里很困惑.我的应用正在使用React+ Redux组合.

我知道我需要检查我是否access_token已过期,然后要求使用新的refresh_token.好的......但什么时候应该刷新它?在之后401发生或时一些API需要授权请求已准备好(之前发送)?

我也知道如何使用HTTP拦截器API在发送或检测401响应之前获取所有请求.问题是我很困惑如何解决Redux流程中的问题.如何"冻结"令牌刷新时间的请求?或者当我在401响应中解决问题时如何重复请求?

oauth-2.0 reactjs redux-framework redux

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

Uvicorn 中使用 FastAPI 进行信号处理

我有一个使用Uvicornwith的应用程序FastAPI。我还打开了一些连接(例如到MongoDB)。SIGINT一旦出现某些信号( 、SIGTERM和) ,我想优雅地关闭这些连接SIGKILL

我的server.py文件:

import uvicorn
import fastapi
import signal
import asyncio

from source.gql import gql


app = fastapi.FastAPI()

app.add_middleware(CORSMiddleware, allow_origins=["*"], allow_methods=["*"], allow_headers=["*"])
app.mount("/graphql", gql)

# handle signals
HANDLED_SIGNALS = (
    signal.SIGINT,
    signal.SIGTERM
)

loop = asyncio.get_event_loop()
for sig in HANDLED_SIGNALS:
    loop.add_signal_handler(sig, _some_callback_func)

if __name__ == "__main__":
    uvicorn.run(app, port=6900)
Run Code Online (Sandbox Code Playgroud)

不幸的是,我尝试实现这一目标的方法不起作用。当我尝试Ctrl+C在终端中时,没有任何反应。我相信这是因为Uvicorn是在不同的线程中启动的......

这样做的正确方法是什么?我注意到了uvicorn.Server.install_signal_handlers()这个功能,但使用起来并不幸运......

python signals starlette fastapi uvicorn

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

禁止在 Nrwl Nx 中的同一库中导入桶文件

假设我们有一个应用程序和一个库Nrwl Nx

\n\n
/apps\n  /myApp\n\n/libs\n  /myLib\n    /components\n       /my.component.ts\n       /other.component.ts\n    /index.ts\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经设置了标签nx.jsonnx-enforce-module-boundaries规则来阻止在库中导入应用程序。它有效,这部分很好。

\n\n

我想做的另一件事是强制在库中使用桶文件。所以我创建了一条路径tsconfig.ts

\n\n
"paths": {\n   "@myNs/my-lib": ["libs/myLib/index.ts"]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我遇到了这个问题。假设我们有从 导出的东西index.ts

\n\n
// index.ts\nexport { MyComponent } from \'./components/my.component\';\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在,如果我们使用一些自动导入 IDE 功能(例如 fromWebStormVS Code)。他们将MyComponent使用路径导入@myNs/my-lib- 这是预期的,因为我刚刚像这样配置了它。

\n\n

当我想自动导入里面的东西时,一个真正的问题出现了myLib(这些导入应该是相对的,而不是@myNs/my-lib) - 根据逻辑和这篇文章([这里有趣的文章]):

\n\n
\n

永远不要让 lib 从它自己的 Barrel 文件导入

\n\n

特定库中的 TypeScript 模块不应该关心该库公开的功能,因此它不应该在任何时候使用自己的 Barrel 文件。

\n\n

如果模块从其自己的桶文件中导入某些内容,则几乎总是会导致循环引用错误。因此,从模块内部的导入应使用相对路径导入。

\n …

webstorm tslint visual-studio-code angular nrwl

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