Well actually the problem is in your Converter. You don't need to implement MarkupExtension. Just IMultivalueConverter.
public class PlainMultiValueConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
return values;
}
public object[] ConvertBack(object value, Type[] targetTypes,
object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Then declare your converter as a resource in your XAML and use it as a simple {StaticResource MyConverter}
.
<DockPanel x:Name="WindowLayout" LastChildFill="False">
<DockPanel.Resources>
<local:PlainMultiValueConverter x:Key="PlainMultiValueConverter"/>
</DockPanel.Resources>
<!--...-->
<Button IsDefault="True" Command="{Binding MyCommand}" DockPanel.Dock="Top" Content="Click" Width="60" Margin="10">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource PlainMultiValueConverter}">
<Binding ElementName="PswBox"/>
<Binding ElementName="AgainPswBox"/>
</MultiBinding>
</Button.CommandParameter>
</Button>
</DockPanel>