控件中有一个名为DependencyProperty
的布尔IsRunning
,表示控件正在执行某些操作。我想创建Style
Visibility
此控件的IsRunning == true
设置为IsRunning == false
可见,或<TheControl Style="{StaticResource MyStyle}" IsRunning="{Binding CategoryListLoaded}"/>
时折叠。
控件可以在这样的页面中使用:
<Style x:Key="MyStyle" TargetType="TheControl" >
<Setter Property="Visibility" Value="{Binding RelativeSource={RelativeSource Self}, Path=IsRunning, Converter={StaticResource BoolToVisibilityConverter}}"/>
</Style>
和我尝试的风格(我也试过TemplatedParent而不是没有运气的自我):
{{1}}
使用上面的代码我得到一个XamlParseException。 我不想在页面中设置可见性,我想用样式控制可见性,因为我有很多这些控件而且只有一种样式。
答案 0 :(得分:2)
答案 1 :(得分:1)
由于IsRunning是一个bool,您是否尝试过将可见性直接添加到控件
<TheControl Style="{StaticResource MyStyle}" IsRunning="{Binding CategoryListLoaded}" Visibility="{Binding CategoryListLoaded, Converter={StaticResource BoolToVisibilityConverter}}"/>