ResourceDictionaryに.csファイルで定義されたValueConverterを追加し、それを何度も静的リソースとして使用すると、新しいインスタンスが作成されるのでしょうか、それとも同じものを使用するのでしょうか?ResourceDictionaryのValueConverterはシングルトンですか?
--------------------------------- ValueConverterDefinition ------------ -------------------
internal class DateTimeConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var date = (DateTime)value;
return date.Day;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
------------------------ --------- ResourceDictionary -------------------------------
<converter:DateTimeConverter x:Key="DateTimeConverter"></converter:DateTimeToSpecificFormatConverter>
<Style x:Key="ToolTipStyle" TargetType="{x:Type ToolTip}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToolTip">
<Border>
<Grid>
<TextBlock Foreground="Black">
<TextBlock.Text>
<Binding Path="StartDate" Converter="{StaticResource DateTimeConverter}"></Binding>
</TextBlock.Text>
</TextBlock>
<TextBlock Foreground="Black">
<TextBlock.Text>
<Binding Path="EndDate" Converter="{StaticResource DateTimeConverter}"></Binding>
</TextBlock.Text>
</TextBlock>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ここでは、通常、静的インスタンスを含む特定のデザインパターンを参照するので、ここではシングルトンについては言及しないと思います。 –