发布于 2016-12-09 17:24:40
我是这样做的。它的工作原理与选择的答案相同,但xaml解析器要好得多,而且不会抛出恼人的(假)错误
Binding="{Path=Idea.Status, Converter={qc:QuickConverter '$P == \'Verified\''}}"
发布于 2015-07-29 12:02:07
QuickConverter对字符串文字使用单引号。但是,在标记扩展中,您需要转义单引号,因此需要在它前面添加\。
所以你的绑定应该是
Binding="{qc:Binding '$P==\'Verified\'',P={Binding Path=Idea.Status}}"
发布于 2015-07-23 17:02:19
我能想到的唯一方法就是使用qc:MultiBinding
<Grid>
<Button Content="Hi There !" VerticalAlignment=" Center" HorizontalAlignment="Center" IsEnabled="{qc:MultiBinding '$P0 == $P1', P0={Binding Status}, P1={Binding Verified}}"></Button>
</Grid>
Verified
被定义为视图模型/代码后处理中的属性
public String Verified { get; set; }
下面是后面的完整代码
public partial class MainWindow : Window,INotifyPropertyChanged
{
public String Verified = "Verified";
private String _status = "Verified";
public String Status
{
get
{
return _status;
}
set
{
if (_status == value)
{
return;
}
_status = value;
OnPropertyChanged();
}
}
public MainWindow()
{
InitializeComponent();
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
}
https://stackoverflow.com/questions/31573715
复制相似问题