Xaml 将DependencyProperty绑定到样式中的可见性

Xaml 将DependencyProperty绑定到样式中的可见性,xaml,windows-phone-7,windows-phone-8,windows-phone,Xaml,Windows Phone 7,Windows Phone 8,Windows Phone,控件中有一个名为IsRunning的布尔dependencProperty,表示该控件正在执行某些操作。我想创建一个样式,如果IsRunning==true,则此控件的可见性设置为Visible;如果IsRunning==false,则将其折叠 控件可以在如下页面中使用: <TheControl Style="{StaticResource MyStyle}" IsRunning="{Binding CategoryListLoaded}"/> 还有我尝试过的风格(我也尝试过T

控件中有一个名为
IsRunning
的布尔
dependencProperty
,表示该控件正在执行某些操作。我想创建一个
样式
,如果
IsRunning==true
,则此控件的
可见性设置为Visible;如果
IsRunning==false
,则将其折叠

控件可以在如下页面中使用:

<TheControl Style="{StaticResource MyStyle}" IsRunning="{Binding CategoryListLoaded}"/>

还有我尝试过的风格(我也尝试过TemplatedParent,而不是Self,运气不佳):


使用上面的代码,我得到一个XamlParseException。
我不想在页面中设置可见性,我想用样式控制可见性,因为我有很多控件,只有一种样式。

由于IsRunning是一个bool,您是否尝试过直接向控件添加可见性

<TheControl Style="{StaticResource MyStyle}" IsRunning="{Binding CategoryListLoaded}" Visibility="{Binding CategoryListLoaded, Converter={StaticResource BoolToVisibilityConverter}}"/>


仍然不支持样式内绑定,我想。。。但是有一篇很好的老文章有一个助手作为解决方案!请在此处阅读:

您不能在IsRunning属性的PropertyChangedCallback中设置控件的可见性吗?或者使用样式还有其他原因吗?我从.dll引用此控件,因此无法访问代码。“控件”是
用户控件
,还是其他什么?不,它是自定义控件,但相当复杂,因此我无法自己重新创建控件。我考虑过这一点,但这将是最后一个解决方案。最后,如果可能的话,我不知道如何以一种方式实现这一点。在试图找到解决方案后,这似乎并不容易,因此我认为这就是它,并将其标记为asnwer。
<TheControl Style="{StaticResource MyStyle}" IsRunning="{Binding CategoryListLoaded}" Visibility="{Binding CategoryListLoaded, Converter={StaticResource BoolToVisibilityConverter}}"/>