我想为异步方法创建一个带加载指示符的按钮,如下所示:
我创建AsyncCommand
实施ICommand
和INotifyPropertyChanged
(详情请参阅MSDN杂志2014年4月)。
我的AsyncCommand
具有Execution
属性,并且具有IsNotCompleated
属性。我想使用Visibility
属性设置loader indincator的IsNotCompleted
属性。
我创建UserControl继承Button
并为此设置样式。我尝试将可见性绑定到Button的Command
依赖项属性。
ControlTemplate
的部分带有"加载指示符" (我使用内容,而不是可见性,仅举例)
<Label HorizontalAlignment="Center"
VerticalAlignment="Center"
Grid.Column="1"
Content="{Binding Command.Execution.IsNotCompleted}"/>
没有任何反应。如果我使用TemplateBinding
代替Binding
,我会收到编译错误:
Command.Execution
这样做的正确方法是什么?
答案 0 :(得分:0)
解决方案正在使用RelativeSource.TemplatedParent
<Label HorizontalAlignment="Center"
VerticalAlignment="Center"
Grid.Column="1"
Content="{Binding Command.Execution.IsNotCompleted, RelativeSource={RelativeSource TemplatedParent}}"/>