小编Alb*_*rto的帖子

如何直接绑定到子视图模型?

目标是直接访问子ViewModel中的属性,而不会丢失整个ViewModel结构的上下文。

当前,我在词典中有一个资源,其中包含对ViewModel的引用,该引用用作整个应用程序的数据上下文。

因此,每个视图的数据上下文如下所示:

DataContext="{StaticResource mainViewModel}"
Run Code Online (Sandbox Code Playgroud)

在我的ViewModel中,我像这样嵌套了子ViewModel:

public class ParentViewModel {
    public ChildVM ChildVM { get; set; }
    public ParentVM(){
        ChildVM = new ChildViewModel();
    }
}

public class ChildViewModel {
    public string SomeProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我可以从数据上下文访问属性,如下所示:

<Button Text="{Binding ChildVM.SomeProperty}"/>
Run Code Online (Sandbox Code Playgroud)

但这变得非常重复。我希望能够做到:

<Button Text="{Binding SomeProperty}"/>
Run Code Online (Sandbox Code Playgroud)

将我的datacontext设置为以下伪内容:

DataContext="{StaticResource MainViewModel, Path=ParentVM.ChildVM}"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# wpf xaml mvvm

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

调试器无法在 Visual Studio 2022 上运行

我正在使用带有 .NET Framework 6.0 的 Visual studio 2022,同时尝试调试应用程序而不是在起点处命中断点。尝试在program.cs类上应用调试器

我已经应用了所有这些更改,但仍然不适合我。我不知道会发生什么。

  1. 工具->选项->调试->常规,禁用“要求源文件与原始版本完全匹配”。
  2. 工具->选项->调试->符号,启用Microsoft符号服务器。
  3. 工具->选项->调试,选中“仅启用我的代码”和“使用管理/取消管理模式”。

还要多次重启系统并更新Visual Studio。

请提出解决方案。

.net visual-studio-debugging asp.net-core

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

获取距离现在最近的日期的项目

在我的数据库中,我有一个具有以下属性的项目列表:

public System.DateTime CARD_OF_DAY_DATE_CREATED { get; set; }
Run Code Online (Sandbox Code Playgroud)

CARD_OF_DAY_DATE_CREATED我需要获取最接近使用 c#的项目DateTime.Now。我可以做大量的 for/foreach 循环,但我想知道是否有一个好的、有效的方法来做到这一点?

注意:CARD_OF_DAY_DATE_CREATED字段只需向前检查,这意味着检查是否是CARD_OF_DAY_DATE_CREATED昨天是不相关的,因为这些项目不会出现在列表中。

c# datetime list

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

Kubernetes 主节点未就绪状态

我已经允许这个网站在 aws ubuntu(18.04) ec2 实例中配置 kubernetes。我在上面的网页中执行了相同的步骤。但是应用Network Overlay后,core dns pod的状态并没有变成running状态。 在此处输入图片说明

我安装的 kubernetes 版本如下

  • kubeadm - GitVersion:"v1.16.0"
  • kubectl - GitVersion:"v1.16.0"
  • kubelet - Kubernetes v1.16.0

解决这个问题我已经在stackoverflow 中尝试了这个答案

我该如何解决这个问题?

的输出 kubectl get nodes

在此处输入图片说明

输出 kubectl describe pod coredns-644d7b6d9-nv9mj -n kube-system

  ubuntu@master:~$ sudo kubectl describe pod coredns-644d7b6d9-nv9mj -n kube-system
    Name:                 coredns-644d7b6d9-nv9mj
    Namespace:            kube-system
    Priority:             2000000000
    Priority Class Name:  system-cluster-critical
    Node:                 <none>
    Labels:               k8s-app=kube-dns
                          pod-template-hash=644d7b6d9
    Annotations:          <none>
    Status:               Pending
    IP:
    IPs:                  <none>
    Controlled By:        ReplicaSet/coredns-644d7b6d9
    Containers:
      coredns:
        Image:       k8s.gcr.io/coredns:1.6.2
        Ports:       53/UDP, 53/TCP, …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 kubernetes

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

从ShortCut获取密钥

还有另一种从快捷方式获取密钥的方法

sc是类型 System.Windows.Forms.Shortcut

var k = (Keys)sc;
Run Code Online (Sandbox Code Playgroud)

我需要为每个键分别使用单独的字符串,因为我使用的是Progress ABL .NET桥,所以上面的代码不起作用(请不要问).

我认为sc应该是一个整数,但显然在.NET中这行代码工作正常.

c# winforms

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

为什么我们不能在.Net中创建静态类的实例

根据MSDN

" 一个类可以声明为static,表示它只包含静态成员.不可能使用new关键字创建静态类的实例.静态类由.NET Framework公共语言运行时(CLR)自动加载当加载包含该类的程序或命名空间时. "

在对它进行一些研究之后,我发现静态类不包含实例构造函数.我不明白为什么静态类不包含实例构造函数以及static关键字的用途.为什么.Net不允许我们创建静态类的实例?

.net c# static

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

斐波纳契计算器返回错误的值

快速问题,包含的代码返回一个Fibonacci值,但它是错误的值,它关闭2,例如用户输入10,返回89,而不是34.基本上我只想返回由输入的值的Fibonacci值用户 ?

谁能发现问题?谢谢

var Newmodel = new FibonacciModel();

int a = 0;
int b = 1;
for (int i = 0; i < model.InputFromUser; i++)
{
    model.FibonacciValue = a + b;
    a = b;
    b = model.FibonacciValue;
}

Newmodel.InputFromUser = model.InputFromUser;
Newmodel.FibonacciValue = model.FibonacciValue;

return View(Newmodel);
Run Code Online (Sandbox Code Playgroud)

c# fibonacci asp.net-mvc-4

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

多线程暂停形成

我正在做一些MultiThreading但是表格在加载时暂停.

我试图显示表单,然后在后台它应该填充组合框而不暂停表单.

在我的Form_Load事件中,我有这个:

private void frmIni_Load(object sender, EventArgs e)
{
      Application.DoEvents();
      Thread threadOne = new Thread(GetServers);
      threadOne.Start();
}
Run Code Online (Sandbox Code Playgroud)

在我的GetServers()方法中:

private void GetServers()
{
       cboServer.BeginInvoke(
          (Action)(() => {
              servers = SmoApplication.EnumAvailableSqlServers(false);
              Thread.Sleep(1);
              foreach (DataRow server in servers.Rows)
              {
                  cboServer.Properties.Items.Add(server["Name"]);
                  Thread.Sleep(1);
              }
        }));
}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?表单不应该暂停,它应该工作,然后最终当线程完成时,它应该只填充组合框.

c# multithreading winforms

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

c#为什么WebClient在通过线程调用时大部分时间都会超时?

我正在开发一个使用定时Web客户端的项目.类结构是这样的.

Controller =>类Form1,SourceReader,ReportWriter,UrlFileReader,HTTPWorker,TimedWebClient的主要主管.

HTTPworker是在给出url时获取页面源的类.TimedWebClient是处理WebClient超时的类.这是代码.

class TimedWebClient : WebClient
{
    int Timeout; 

    public TimedWebClient()
    {
        this.Timeout = 5000;
    }


      protected override WebRequest GetWebRequest(Uri address)
    {
        var objWebRequest = base.GetWebRequest(address);
        objWebRequest.Timeout = this.Timeout;
        return objWebRequest;
    }
}
Run Code Online (Sandbox Code Playgroud)

在HTTPWorker中我有

 TimedWebClient wclient = new TimedWebClient();
 wclient.Proxy = WebRequest.GetSystemWebProxy();
 wclient.Headers["Accept"] = "application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
 wclient.Headers["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center …
Run Code Online (Sandbox Code Playgroud)

c# multithreading timeout webclient exception

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

Visual Studio - 仅在关闭所有表单时结束调试程序

我在Windows窗体项目中使用Visual Studio 2013 Premium.当我调试我的Windows窗体项目并关闭我的启动窗体时,所有其他窗体也会停止.我搜索了这个问题并看到在项目 - >属性中有一个下拉列表,您可以在其中更改关闭模式,这将解决我的问题.

但是,我的应用程序属性中不存在关闭模式选项.我无法在其他任何地方找到它,搜索网络也没有为我解决这个问题,那么它会是什么?

c# winforms visual-studio-2013

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

For Each循环NullReferenceException

我使用foreach循环使用以下代码从我的datagridview中获取数据.

foreach (DataGridViewRow row in this.dataGridMultiSubmit.Rows)
{
    Model = row.Cells[0].Value.ToString();
    Module = row.Cells[1].Value.ToString();
    Section = row.Cells[2].Value.ToString();
    FunctionValue = row.Cells[3].Value.ToString();
    NewValue = row.Cells[4].Value.ToString();
    DefaultValue = row.Cells[5].Value.ToString();
    Description = row.Cells[6].Value.ToString();

    MessageBox.Show(Model + Module + Section + FunctionValue + NewValue + DefaultValue + Description);
}
Run Code Online (Sandbox Code Playgroud)

它在消息框中正确返回所有行,但当它通过所有行运行时它给我NullReferenceException未处理,我该如何解决这个问题?

c# foreach datagridview

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