小编Ton*_*Nam的帖子

在Windows注册表上注册程序,使其显示在"控制面板"上的"卸载程序"中

比方说,我有一个简单的程序:SomeProgram.exeUninstaller.exe这些程序都C:\ProgramFiles\MyProgram 伴随着几个dll的资源.

无论如何,我有一个简单的安装程序,可以为该路径安装几个先决条件.现在我的问题是如何SomeProgram.exe在窗口注册表上注册,以便我可以在控制面板中添加或删除程序.我想Uninstaller.exe在用户点击删除我的程序时执行.此外,我想在Windows启动菜单上创建一个文件夹,以便用户可以从那里启动程序,以防他不想在桌面上有快捷方式.

windows registry installer

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

我应该担心停止/处理WPF动画吗?

我有一个UserControl加载时开始:

<Storyboard x:Key="StFlash" RepeatBehavior="Forever" AutoReverse="True" >
    <DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="img" From=".3" To="1" Duration="0:0:0.6">
        <DoubleAnimation.EasingFunction>
            <CircleEase EasingMode="EaseOut"/>
        </DoubleAnimation.EasingFunction>
    </DoubleAnimation>
</Storyboard>
Run Code Online (Sandbox Code Playgroud)

基本上它会使图像永远闪烁. When I remove that user control should I worry about stopping the animation?

wpf animation user-controls dispose storyboard

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

在我的类库项目中使用资源字典样式而不合并字典

我正在创建一个包含 WPF 用户控件的类库项目。我的要求是所有控件都具有相同的样式。我的项目看起来像:

在此处输入图片说明

为了解决这个问题,我所做的事情:

  1. 添加了 WPF 应用程序System.Xaml、WindowsBase 等所需的所有引用以便我可以在我的类库项目中拥有 wpf 控件。
  2. AssemblyInfo.cs 中,我添加了:

    [assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]

  3. ResourceDictionary1.xaml添加到添加样式的项目中。

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <SolidColorBrush x:Key="Brush1" Color="#FF19199E"/>
    </ResourceDictionary>

  4. 现在,如果我想在UserControl1.xaml上使用样式,我会这样做:

    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="ResourceDictionary1.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    
    </UserControl.Resources>
    
    <Grid >
        <Rectangle Fill="{StaticResource Brush1}"  />
    </Grid>
    
    Run Code Online (Sandbox Code Playgroud)

我知道它很好用,但这里有一个问题。每次我创建一个新的 userControl 时,我都必须合并字典。在常规 WPF 应用程序中,我只需在 App.xaml 上合并字典一次,就可以在整个应用程序中使用该字典。如何避免每次创建新用户控件时都必须合并字典?如果我打算添加一个新的资源字典,我将不得不转到所有 userControls 并合并另一个字典。也许我写错了问题标题,我的问题应该是如何将 App.xaml 文件添加到类库项目

wpf resources resourcedictionary

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

如何知道JS代码是在浏览器中还是在设计模式下执行

我相信intellisense可以解决大量的时间和错误.让我说我打了一个ajax电话,我知道我会得到一系列汽车.

 $.ajax({
        type: "POST",            
        url: "GetCars.aspx",
        success: function (cars) {                

            for(var i = 0; i < cars.length; i++)
            {
                var car = cars[i];
                if(document.designMode)
                {
                   car = { type: "", model: 0, colors: new Array() };
                }
                // Intelissense wors great in here!

                // car.   "the moment I type the '.' I see type, model, and colors

            }
        }            
    });
Run Code Online (Sandbox Code Playgroud)

我需要在visual studio编辑器中返回true并在浏览器中返回false的内容.if(document.designMode)在VS和浏览器中返回true,因此car = { type: "", model: 0, colors: new Array() };始终执行该行.我不希望car = { …

javascript intellisense

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

使用需要会话 api 密钥的 .NET Minimal API 创建 API

该视频非常精彩,展示了如何使用 .net 6 创建最小 API:

https://www.youtube.com/watch?v=eRJFNGisJEo

令人惊奇的是它如何使用依赖注入来获取端点内所需的大部分内容。例如,如果我需要自定义标头的值,我会这样:

app.MapGet("/get-custom-header", ([FromHeader(Name = "User-Agent")] string data) =>
{
    return $"User again is: {data}";
});
Run Code Online (Sandbox Code Playgroud)

我可以有另一个端点,我可以在其中访问整个 httpContext,如下所示:

app.MapGet("/foo", (Microsoft.AspNetCore.Http.HttpContext c) =>
{
    var path = c.Request.Path;
    return path;
});
Run Code Online (Sandbox Code Playgroud)

我什至可以使用以下代码注册我自己的类:builder.Services.AddTransient<TheClassIWantToRegister>()

app.MapGet("...如果我注册我的自定义类,我将能够在每次需要时在端点 ( )上创建该类的实例


无论如何回到问题。当用户登录时,我向他发送以下内容:

{
  "ApiKey": "1234",
  "ExpirationDate": blabla bla
  .....
}
Run Code Online (Sandbox Code Playgroud)

用户必须发送1234令牌才能使用 API。我怎样才能避免重复我的代码,如下所示:

app.MapGet("/getCustomers", ([FromHeader(Name = "API-KEY")] string apiToken) =>
{
    // validate apiToken agains DB
    if(validationPasses)
       return Database.Customers.ToList();
    else
       // return unauthorized
});
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个自定义类RequiresApiTokenKey并将该类注册为, …

c# asp.net-web-api

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

如何使用javascsript删除列表中的第n个元素

我知道如何从列表中删除所有元素.我不知道如何删除一个项目.假设我要删除第3个列表项

  • 一个无序列表.假设我有以下内容:

              <ul id="parent">
        <li>
          <label>this is the fist item</label>
        </li>
        <li>
          <label>this is the second item</label>
        </li>
        <li>
           <label>this is the third item</label>
        </li>
        <li>
            <label>this is the fourth item</label>
        </li>
              </ul>
    
    Run Code Online (Sandbox Code Playgroud)

    它的大使馆删除了第一个孩子或最后一个孩子.我正在构建的列表是动态构建的,如果我可以删除第n个孩子,那将是很好的.如果我能做像document.getElementById("someElemet")那样的事情会很好.删除

  • javascript

    4
    推荐指数
    2
    解决办法
    4209
    查看次数

    在wpf中创建自定义用户控件以供重用

    我想知道如何保存用户控件就像我们可以在一个dll文件中保存ac#类并在我们需要使用该类时导入该文件一样.我们如何导入该控件并使用它.如果我们可以制作自定义控件并将它们保存以供重用,而不是每次我们必须使用它时都必须复制xaml和代码,这将是很好的.

    c# wpf user-controls

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

    将缓动功能应用于代码背后的动画

    我设法在代码后建立了故事板。我不知道如何添加缓动功能。我正在寻找类似的东西:

    DoubleAnimation FadelnTBAnimation = new DoubleAnimation();
    FadelnTBAnimation.To = 0;
    FadelnTBAnimation.BeginTime = TimeSpan.FromSeconds(0);
    FadelnTBAnimation.Duration = new Duration(TimeSpan.FromSeconds(1));
    FadelnTBAnimation.EasingFunction = EasingMode.EaseInOut; // this line gives an error
    
    Run Code Online (Sandbox Code Playgroud)

    如何在C#中应用缓动函数?

    我发现用代码构建情节提要有用的原因是因为我将相同的动画应用于多个对象,并且在XAML中绑定目标属性时有时不起作用。

    c# wpf animation storyboard

    4
    推荐指数
    2
    解决办法
    7618
    查看次数

    通过查看字节来检查十进制是否包含小数位

    有一个类似的问题在这里.有时,该解决方案会提供例外,因为数字可能会很大.

    我认为如果有办法查看十进制数字的字节,它会更有效率.例如,十进制数必须由n个字节表示.例如,Int32由32位表示,所有以1位开头的数字都是负数.也许与十进制数有某种类似的关系.你怎么看十进制数的字节?或整数的字节?

    c# decimal

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

    获取集合的所有子集

    我正在尝试创建一个方法来返回一个集合的所有子集。

    例如,如果我有收藏,10,20,30 我想获得以下输出

            return new List<List<int>>()
            {
                new List<int>(){10},
                new List<int>(){20},
                new List<int>(){30},
                new List<int>(){10,20},
                new List<int>(){10,30},
                new List<int>(){20,30},
                //new List<int>(){20,10}, that substet already exists
                // new List<int>(){30,20}, that subset already exists
                new List<int>(){10,20,30}
            };
    
    Run Code Online (Sandbox Code Playgroud)

    因为集合也可以是字符串的集合,例如我想创建一个通用方法。这是我根据这个解决方案制定的。

        static void Main(string[] args)
        {
            Foo<int>(new int[] { 10, 20, 30});
        }
    
        static List<List<T>> Foo<T>(T[] set)
        {
    
            // Init list
            List<List<T>> subsets = new List<List<T>>();
    
            // Loop over individual elements
            for (int i = 1; i < set.Length; i++)
            {
                subsets.Add(new …
    Run Code Online (Sandbox Code Playgroud)

    c# algorithm set subset

    4
    推荐指数
    2
    解决办法
    7504
    查看次数