【发布时间】:2020-01-24 23:51:18
【问题描述】:
在我的 DataGridColumnHeaderStyle 中,我有以下 MultiBinding:
<Setter Property="Command" Value="{Binding DataContext.AddFilterColumnCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
<Setter Property="CommandParameter">
<Setter.Value>
<MultiBinding Converter="{StaticResource MultiCommandParameterConverter}">
<Binding Path="Content" RelativeSource="{RelativeSource Mode=Self}" />
<Binding Path="Column.Binding.Path.Path" RelativeSource="{RelativeSource Mode=Self}" />
</MultiBinding>
</Setter.Value>
</Setter>
我在使用第二个绑定时遇到了问题。它总是返回{{DependencyProperty.UnsetValue}}
但是,如果在应用程序运行时,我将 RelativeSource 模式更改为其他模式,然后再返回它就可以正常工作。
我一直在为这个问题摸不着头脑,看到其他 SO 问题没有尽头,使用 Google 我似乎无法找到为什么会这样或如何克服它的答案。
编辑: 这是我的转换器代码,以防万一
class MultiCommandParameterConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{ return values.Clone(); }
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{ return new object[] { value }; }
}
【问题讨论】:
标签: wpf xaml multibinding commandparameter