在mvvm中绑定或执行control.method

问题描述 投票:0回答:1

Textbox 有 Clear 和 GetSpellingErrors 方法等。
我可以有类似< TextBox Clear={binding...} />的东西吗?

我知道 Clear 不是“依赖”任何东西。 我正在编写一个用户控件。 我可以根据需要添加 DependencyProperty、DependencyObject。 我只是想知道如何将方法绑定到虚拟机。

PS 我不需要 Clear 的替代品,我知道我可以将属性设置为 string.empty。

wpf mvvm
1个回答
0
投票

事实证明,您可以使用

ICommand
并像其他
DependencyProperty
一样创建它。

public static readonly DependencyProperty CancelCommandProperty = DependencyProperty.Register("CancelCommand", typeof(ICommand), typeof(AddressUserControl), new PropertyMetadata());

[BindableAttribute(true)]
public ICommand CancelCommand { get { return (ICommand)GetValue(CancelCommandProperty); } set { SetValue(CancelCommandProperty, value); } }

我仍然遇到的唯一问题是我显然需要将其设置为只读绑定。 试过

DependencyProperty.RegisterReadOnly(...)

但是

ReadOnly DependencyProperty
似乎存在错误 https://web.archive.org/web/20140116075511/http://connect.microsoft.com/VisualStudio/feedback/details/540833/onewaytosource-binding-from -只读依赖属性

© www.soinside.com 2019 - 2024. All rights reserved.