2014-12-03 28 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