2010-12-10 6 views
0

나는 유구의 변환기를 사용하지만,이 변환기가 호출되지 않았던 것 같다 ...XAML : 스타일 내에서 바인딩 변환기를 사용하는 방법?

코드는 다음과 같다 :

<Style x:Key="DependencyToolTipStyle" TargetType="{x:Type ToolTip}"> 
    <Style.Resources> 
     <local:ConvertTypeToTypeCN x:Key="Converter1"></local:ConvertTypeToTypeCN> 
    </Style.Resources> 
      <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ToolTip"> 
       <Border Background="LightYellow" BorderThickness="1" BorderBrush="Black"> 
        <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition /> 
          <ColumnDefinition /> 
          <ColumnDefinition /> 
         </Grid.ColumnDefinitions> 
         <Grid.RowDefinitions> 
          <RowDefinition /> 
          <RowDefinition /> 
          <RowDefinition /> 
          <RowDefinition /> 
         </Grid.RowDefinitions> 
         <TextBlock Margin="1" Text="type:" Grid.Column="0" Grid.Row="0" /> 
         <TextBlock Margin="1" Grid.ColumnSpan="2" Grid.Column="1" Grid.Row="0"> 
          <TextBlock.Text> 
           **<Binding Path="LinkType" Converter="{StaticResource Converter1}"/>** 
          </TextBlock.Text> 
         </TextBlock> 
         <TextBlock Margin="1" Text="Lag:" Grid.Column="0" Grid.Row="1" /> 
         <TextBlock Margin="1" Grid.Column="1" Grid.Row="1" Text="{Binding Lag}" />       
         <TextBlock Margin="1" Text="From:" Grid.Column="0" Grid.Row="2" /> 
         <TextBlock Margin="1" Grid.Column="1" Grid.Row="2" Text="{Binding Path=From.ID}" /> 
         <TextBlock Margin="1" Grid.Column="2" Grid.Row="2" Text="{Binding Path=From.Name}" /> 
         <TextBlock Margin="1" Text="To:" Grid.Column="0" Grid.Row="3" /> 
         <TextBlock Margin="1" Grid.Column="1" Grid.Row="3" Text="{Binding Path=To.ID}" /> 
         <TextBlock Margin="1" Grid.Column="2" Grid.Row="3" Text="{Binding Path=To.Name}" /> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
<ToolTip x:Key="DependencyToolTip" Style="{StaticResource DependencyToolTipStyle}"/> 
<Style TargetType="controls:GanttDependency"> 
    <Setter Property="ToolTip" Value="{StaticResource DependencyToolTip}" /> 
</Style> 

답변

0

는 그리드의 리소스로 변환을 정의하는 시도 대신.

<Style x:Key="DependencyToolTipStyle" TargetType="{x:Type ToolTip}"> 
      <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ToolTip"> 
       <Border Background="LightYellow" BorderThickness="1" BorderBrush="Black"> 
        <Grid> 
         **<Grid.Resources> 
          <local:ConvertTypeToTypeCN x:Key="Converter1"></local:ConvertTypeToTypeCN> 
         </Grid.Resources>** 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition /> 
          <ColumnDefinition /> 
          <ColumnDefinition /> 
         </Grid.ColumnDefinitions> 
         <Grid.RowDefinitions> 
          <RowDefinition /> 
          <RowDefinition /> 
          <RowDefinition /> 
          <RowDefinition /> 
         </Grid.RowDefinitions> 
         <TextBlock Margin="1" Text="type:" Grid.Column="0" Grid.Row="0" /> 
         <TextBlock Margin="1" Grid.ColumnSpan="2" Grid.Column="1" Grid.Row="0"> 
          <TextBlock.Text> 
           **<Binding Path="LinkType" Converter="{StaticResource Converter1}"/>** 
          </TextBlock.Text> 
         </TextBlock> 
         <TextBlock Margin="1" Text="Lag:" Grid.Column="0" Grid.Row="1" /> 
         <TextBlock Margin="1" Grid.Column="1" Grid.Row="1" Text="{Binding Lag}" />       
         <TextBlock Margin="1" Text="From:" Grid.Column="0" Grid.Row="2" /> 
         <TextBlock Margin="1" Grid.Column="1" Grid.Row="2" Text="{Binding Path=From.ID}" /> 
         <TextBlock Margin="1" Grid.Column="2" Grid.Row="2" Text="{Binding Path=From.Name}" /> 
         <TextBlock Margin="1" Text="To:" Grid.Column="0" Grid.Row="3" /> 
         <TextBlock Margin="1" Grid.Column="1" Grid.Row="3" Text="{Binding Path=To.ID}" /> 
         <TextBlock Margin="1" Grid.Column="2" Grid.Row="3" Text="{Binding Path=To.Name}" /> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
<ToolTip x:Key="DependencyToolTip" Style="{StaticResource DependencyToolTipStyle}"/> 
<Style TargetType="controls:GanttDependency"> 
    <Setter Property="ToolTip" Value="{StaticResource DependencyToolTip}" /> 
</Style> 
관련 문제