/ / ¿Cómo puedo pasar 'CommandParameter' a elementos secundarios en WPF - wpf, xaml

¿Cómo puedo pasar 'CommandParameter' a los elementos secundarios en WPF - wpf, xaml

Hay muchos botones que tienen un CommandParameter común como el siguiente, pero hay más botones, más desordenados.

<StackPanel>
<Button Command="{Binding Foo1Command}" CommandParameter="{Binding CommonParam, Source={StaticResource CommonObj}}" />
<Button Command="{Binding Foo2Command}" CommandParameter="{Binding CommonParam, Source={StaticResource CommonObj}}" />
<Button Command="{Binding Foo3Command}" CommandParameter="{Binding CommonParam, Source={StaticResource CommonObj}}" />
...
...
...
</StackPanel>


Quiero pasar CommandParameter en el elemento principal a los elementos secundarios, por lo tanto, quiero hacer el código anterior como el siguiente al final.

<StackPanel CommandParameter="{Binding CommonParam, Source={StaticResource CommonObj}}">
<Button Command="{Binding Foo1Command}" />
<Button Command="{Binding Foo2Command}" />
<Button Command="{Binding Foo3Command}" />
...
...
...
</StackPanel>


¿Es posible? Si es así, le estaré muy agradecido si sugiere lo que debería aprender para lograrlo.

Respuestas

3 para la respuesta № 1

es posible. Todos los botones pueden compartir el estilo común donde se establece el parámetro predeterminado.

no es "pasar CommandParameter en el elemento padre a elementos hijos"

<StackPanel>
<StackPanel.Resources>
<Style TargetType="Button">
<Setter Property="CommandParameter"
Value="{Binding CommonParam, Source={StaticResource CommonObj}}"/>
</Style>
</StackPanel.Resources>
<Button Command="{Binding Foo1Command}" />
<Button Command="{Binding Foo2Command}" />
<Button Command="{Binding Foo3Command}" />
<!--other code-->
</StackPanel>