我有一个在对象上执行命令的按钮。 我想将相同的命令分配给某些鼠标事件。
当前按钮的设置如下:
<Button Command="{Binding MoveItemsCommand, ElementName=SelectListControl}">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource ZipConverter}">
<Binding Source="{x:Static local:MoveItemDirection.Up}" />
<Binding ElementName="ListViewDestination" Path="SelectedItems" />
<Binding ElementName="ListViewDestination" Path="ItemsSource" />
</MultiBinding>
</Button.CommandParameter>
<!-- ... -->
</Button>
定义鼠标事件时,有没有办法重用该MultiBinding
?
我无法使用Style
创建一个MultiBinding
,因为该样式需要定位一个类型,并且鼠标事件将是不兼容的类型。因此,我要求一种替代方法,该方法将插入我针对鼠标事件所遵循的替代方法-http://blog.lanwin.de/2010/01/28/apply-command-inputbindings-on-styles/
L.E。哦,ZipConverter
并没有什么特别的,只是将多个参数传递给命令时需要使用的一种解决方法:
public class ZipConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) =>
values.Clone();
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
答案 0 :(得分:1)
有没有办法重复使用MultiBinding ...
否,每个控件都需要列出其顺序,并且没有办法集中这些命令/样式。