小编Séb*_*ien的帖子

在Code Behind事件中调用View Model方法会破坏MVVM吗?

我想知道这是否会破坏MVVM模式,如果是这样,为什么以及为什么这么糟糕呢?

WPF:

<Button Click="Button_Click" />
Run Code Online (Sandbox Code Playgroud)

代码背后:

private void Button_Click(object sender, RoutedEventArgs e)
{
    ViewModel.CallMethod();
}
Run Code Online (Sandbox Code Playgroud)

查看型号:

public void CallMethod()
{
    // Some code
}
Run Code Online (Sandbox Code Playgroud)

恕我直言,它使代码背后非常简单,视图模型仍然对视图和代码背后不可知,对视图的更改不会影响业务逻辑.

在我看来比Commands或更简单明了CallMethodAction.

我不想要那种答案"它不应该如何完成".我需要一个恰当而合乎逻辑的理由,说明为什么这样做会导致维护或理解问题.

c# wpf mvvm

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

在WrapPanel中共享可用空间

我在WPF中使用WrapPanel来显示图像.调整表单大小时,这些图像会尝试占用最大的自由空间,但是当图片几乎可以填充空间时,WrapPanel的末尾会有一个相对较大的间隙.我想要做的是在新的填充这个空白之前在图像之间共享这个空间(就像Windows 7 Explorer在显示图像图标时所做的那样).

wpf wrappanel

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

使用 curl 上传多个文件

如何使用CURLFile和上传数组中的多个文件curl_setopt

使用数据数组会引发错误(无法将数组转换为字符串),并且http_build_query数据会损坏CURLFile对象。

我必须上传的数据如下所示:

[
    'mode' => 'combine',
    'input' => 'upload',
    'format' => $outputformat,
    'files' => [
        [0] => CURLFile object,
        [1] => CURLFile object,
        [x] => ...
    ]
]
Run Code Online (Sandbox Code Playgroud)

php upload curl file

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

将数据发送到TemplateRef MatDialog

如何获取发送到MatDialog的数据ng-template

模板

<button mat-button (click)="openDialog()">Open</button>

<ng-template #dialogRef>
    {{data?}} <!-- <<< Here is the problem data is undefined -->
</ng-template>
Run Code Online (Sandbox Code Playgroud)

零件

export class SomeComponent {
    @ViewChild("dialogRef") dialogRef: TemplateRef<any>;

    constructor(private dialog: MatDialog) { }

    openDialog(): void {
        this.dialog.open(this.dialogRef, { data: "some data" });
    }
}
Run Code Online (Sandbox Code Playgroud)

angular-material angular

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

带有材质组件的角度形式更改事件

我有一个包含输入材料组件(如mat-selectmat-checkbox)的表单。

每次用户进行修改时,我都想将它们保存到数据库中。所以我做了类似的事情<form (change)="save()">

这对于本机输入完美无缺,但当用户更改材质组件值时它不会触发。

我宁愿避免<mat-select (selectionChange)="save()">在每个组件上使用这样的解决方案,因为当我必须更新我的表单时,我很容易忘记添加它。

编辑

这是一个模板驱动的表单。我的模板如下:

<form (change)="save()">
    <!-- Will trigger save -->
    <mat-form-field class="col">
        <input matInput placeholder="Name" name="name" [(ngModel)]="item.name">
    </mat-form-field>

    <!-- Will NOT trigger save -->
    <mat-form-field class="col">
        <mat-select placeholder="Category" name="category [(ngModel)]="item.category.id">
            <mat-option *ngFor="let category of categories" [value]="category.id">{{category.name}}</mat-option>
        </mat-select>
    </mat-form-field>

    <!-- ... -->
</form>
Run Code Online (Sandbox Code Playgroud)

组件代码没有什么特别的,只有模型变量 ( item: Item;)。

forms onchange angular-material angular

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

ScrollViewer上的DataGrids阻​​止它滚动

我有多个DataGrids配置在ScrollViewer上.这些DataGrids具有"height:auto"属性,因此我可以隐藏滚动条并查看所有内容.唯一的问题是DataGrids占据了焦点,因此我无法滚动ScrollViewer.这是一个属性,以保持对ScrollViewer的关注,但也保持DataGrids的行为(所以我可以选择元素)?

谢谢 !

c# wpf datagrid focus scrollviewer

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

在div中以与textarea中相同的方式包装文本

我在实时编辑HTML textarea时创建了一个建议面板.为了获得{x,y}坐标,我使用了一个隐藏在textarea后面的div.我得到了carret的位置,然后将carret之前的文本和span标签复制到隐藏的div.然后我得到跨度坐标并将其提供给建议面板.

唯一的问题是,当我向textarea添加一个没有空格的长行时,该行在div面板中被剪切时被包裹(因此在我添加回车之前,建议面板不再适合放置).

有没有办法在这两个地方(textarea和div面板)以相同的方式拟合文本?

(我正在使用jQuery)

html javascript jquery textarea

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

使用Symfony2对实体进行级联验证

我想知道如何使用验证器服务对实体进行级联验证.

使用:

$validator = $this->get('validator');
$errorList = $validator->validate($entity);
Run Code Online (Sandbox Code Playgroud)

不执行"实体"子实体的验证.

我很确定可以使用表单验证(使用'cascade_validation' => true)来完成它.

validation symfony

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

如何使用API​​获取真正的Windows Live联系电子邮件地址?

我想知道Facebook,Twitter和LinkedIn(仅举几例)是如何使用Windows Live API查找用户朋友的电子邮件地址来向他们发送邀请.当我尝试使用Windows Live API时,我只获得email_hashes,它只能用于与系统的现有用户电子邮件进行比较,而不是向他们发送邀请.

这些服务是否支付Microsoft以获得高级API的好处?

谢谢你,塞巴斯蒂安

email api windows-live

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

使用 Magick.NET 启用 OpenCL

我正在使用 Magick.NET 对图像进行去斑处理。对于相对较小的图像(1000*1500 像素),大约需要 1-2 秒。我读到 ImageMagick 使用 OpenCL 来加速某些操作,去斑就是其中之一。所以,我想知道为什么最近的显卡(GTX 960)这么慢。

是否有启用 OpenCL 的 Magick.NET 设置?

.net c# imagemagick opencl magick.net

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