小编Axd*_*der的帖子

禁用WPF MVVM中DataGrid中自动生成的列的排序

我在WPF中有一个带有自动生成列的DataGrid .

如何禁用MVVM模式之后的所有行的排序功能?

<DataGrid AutoGenerateColumns="True" 
            ItemsSource="{Binding MyList}" 
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

sorting wpf datagrid mvvm

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

WPF DataGrid - 在CellTemplates DataTemplate中将数据绑定到DataTable单元格

我有一个带有DataTable的DataGrid和ItemsSource.列数随时间而不同.如果列的DataType属于类AI,则希望使用DataTemplate来自定义单元格内容的外观.

我已经设定

AutoGenerateColumns="True" 
Run Code Online (Sandbox Code Playgroud)

在DataGrid上,以便生成DataTable中的所有列.

如果DataType是A类型,我用DataGridTemplateColumn替换DataGridColumn

private void DataGrid_AutoGeneratingColumn(object sender, system.Windows.Controls.DataGridAutoGeneratingColumnEventArgs e)
{
    if (e.PropertyType == typeof(A))
    {
        e.Column = new DataGridTemplateColumn
        {
            CellTemplate = (DataTemplate)Resources["ATemplate"],
            Header = e.Column.Header,
            HeaderTemplate = e.Column.HeaderTemplate,
            HeaderStringFormat = e.Column.HeaderStringFormat
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

DataTemplate看起来像这样.

<DataTemplate x:Key="ATemplate">
   <RadioButton Content="{Binding Name}" GroupName="{Binding GroupName}" IsChecked="{Binding IsSelected}" />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

显示了radiobutton,但我得到了所有属性的绑定错误,例如

BindingExpression path error: 'IsSelected' property not found on 'object' ''DataRowView'
Run Code Online (Sandbox Code Playgroud)

A类看起来像这样

public class A
{
    public string Name { get; set; }
    public string GroupName { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

c# wpf datagrid mvvm

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

IoC,依赖注入和构造函数参数

我有一个服务,我希望能够根据控制反转原理创建,所以我创建了一个接口和一个服务类.

public interface IMyService
{
    void DoSomeThing1();
    void DoSomeThing2();
    void DoSomeThing3();
    string GetSomething();

}

public class MyService : IMyService
{
    int _initialValue;
    //...

    public MyService(int initialValue)
    {
        _initialValue = initialValue;
    }

    public void DoSomeThing1()
    {
        //Do something with _initialValue
        //...
    }

    public void DoSomeThing2()
    {
        //Do something with _initialValue
        //...
    }

    public void DoSomeThing3()
    {
        //Do something with _initialValue
        //...
    }

    public string GetSomething()
    {
        //Get something with _initialValue
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

以Unity为例,我可以设置IoC.

public static class MyServiceIoc
{
    public static …
Run Code Online (Sandbox Code Playgroud)

.net c# dependency-injection inversion-of-control

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

Metallb Kubernetes 安装:创建 IPAddresspool 时调用 webhook“ipaddresspoolvalidationwebhook.metalb.io”失败

我正在使用 kubeadm 设置本地 kubernetes 集群。

这是 Kubernetes 版本

clientVersion:
  buildDate: "2022-10-12T10:57:26Z"
  compiler: gc
  gitCommit: 434bfd82814af038ad94d62ebe59b133fcb50506
  gitTreeState: clean
  gitVersion: v1.25.3
  goVersion: go1.19.2
  major: "1"
  minor: "25"
  platform: linux/amd64
kustomizeVersion: v4.5.7
serverVersion:
  buildDate: "2022-10-12T10:49:09Z"
  compiler: gc
  gitCommit: 434bfd82814af038ad94d62ebe59b133fcb50506
  gitTreeState: clean
  gitVersion: v1.25.3
  goVersion: go1.19.2
  major: "1"
  minor: "25"
  platform: linux/amd64
Run Code Online (Sandbox Code Playgroud)

我已经安装了metallb版本0.13.7

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml
Run Code Online (Sandbox Code Playgroud)

一切都在运行

$ kubectl get all -n metallb-system
 
NAME                              READY   STATUS    RESTARTS   AGE
pod/controller-84d6d4db45-l2r55   1/1     Running   0          35s
pod/speaker-48qn4                 1/1     Running   0          35s
pod/speaker-ds8hh                 1/1     Running   0          35s …
Run Code Online (Sandbox Code Playgroud)

kubernetes metallb

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