2014-12-03 46 views
0

我至今未能提取重复可见性绑定到样式(现在在Stackpanel.Resources中)。可能吗?如何在风格中声明绑定和转换器

<StackPanel Orientation="Vertical"> 
    <TextBlock Text="{Binding FullName}" Visibility="{Binding FullName, Converter={StaticResource StringToVisibilityConverter}}"/> 
    <TextBlock Text="{Binding Email}" Visibility="{Binding Email, Converter={StaticResource StringToVisibilityConverter}}"/> 
    <TextBlock Text="{Binding OfficePhone}" Visibility="{Binding OfficePhone, Converter={StaticResource StringToVisibilityConverter}}"/> 
    <TextBlock Text="{Binding MobilePhone}" Visibility="{Binding MobilePhone, Converter={StaticResource StringToVisibilityConverter}}"/> 
</StackPanel> 

我已经试过这样的事情:

<StackPanel Orientation="Vertical"> 
    <StackPanel.Resources> 
     <Style TargetType="TextBlock"> 
      <Setter Property="Visibility" Value={Binding ???, Converter={StaticResource StringToVisibilityConverter}} /> 
     </Style> 
    </StackPanel.Resources> 
    <TextBlock Text="{Binding FullName}"/> 
    <TextBlock Text="{Binding Email}"/> 
    <TextBlock Text="{Binding OfficePhone}"/> 
    <TextBlock Text="{Binding MobilePhone}"/> 
</StackPanel> 

回答

2

如果你总是要过的文字的结合,那么你可以做到这一点

 <Style TargetType="TextBlock"> 
     <Setter Property="Visibility" Value="{Binding Text, 
         Converter={StaticResource StringToVisibilityConverter}, 
         RelativeSource={RelativeSource Self}}" /> 
    </Style> 

这将绑定的值转换后文本的可见性。

+0

RelativeSource Self。当然! – EagleBeak 2014-12-03 15:34:22