Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
{Binding Path=Date, Converter={StaticResource dateConverter}}
<Grid x:Name="grid">
<Grid.Resources>
<Button x:Key="xxx" />
<ControlTemplate x:Key="Test" >
<Button Content="{TemplateBinding Name, ConverterParameter={StaticResource xxx}}" />
</ControlTemplate>
</Grid.Resources>
<StackPanel DataContext="{Binding ElementName=grid}">
<Button x:Name="Button1" Content="1" Template="{StaticResource Test}" />
<Button x:Name="Button2" Content="2" Template="{StaticResource Test}" />
</StackPanel>
</Grid>
[TypeConverter(typeof(TemplateBindingExtensionConverter))]
[MarkupExtensionReturnType(typeof(object))]
public class MyTemplateBinding : TemplateBindingExtension
{
public override object ProvideValue(IServiceProvider serviceProvider)
{
return "1";
}
public MyTemplateBindingExtension(DependencyProperty path) : base(path) { }
}
<Grid x:Name="grid">
<Grid.Resources>
<Button x:Key="xxx" />
<ControlTemplate x:Key="Test" >
<Button Content="{local:MyTemplateBindingExtension Name, ConverterParameter={StaticResource xxx}}" />
</ControlTemplate>
</Grid.Resources>
<StackPanel DataContext="{Binding ElementName=grid}">
<Button x:Name="Button1" Content="1" Template="{StaticResource Test}" />
<Button x:Name="Button2" Content="2" Template="{StaticResource Test}" />
</StackPanel>
</Grid>
Error 1 Unknown property 'ConverterParameter' for type 'MS.Internal.Markup.MarkupExtensionParser+UnknownMarkupExtension' encountered while parsing a Markup Extension. Line 10 Position 25. C:\Documents\Visual Studio 2010\Projects\WpfMarkupExtensionTest\WpfMarkupExtensionTest\MainWindow.xaml 10 25 WpfMarkupExtensionTest
<Label Content="{Binding Path=Date, Converter={StaticResource dateConverter}, ConverterParameter='Gregorian'}" />
Для начала немного изменим наш базовый класс:
WPF: Несколько параметров для конвертера