首页 > 解决方案 > WPF 中的扩展器控件

问题描述

我需要将我的按钮控件从下面替换为 Expander 控件。

<Button Grid.Row="14" Grid.ColumnSpan="2" Content="{Binding InspectionLayoutAdvancedButtonContent, Mode=OneWay}" HorizontalAlignment="Stretch" Margin="10,3" MinWidth="120"
                            Command="{Binding Path=AdvancedCommand}" Visibility="{Binding SelectedEditingLayoutViewModel.AdvancedButtonVisibility}"
                            CommandParameter="{Binding ElementName=gridAdvances}"/>

我不知道如何将 Command 添加到 Expander 控件,所以当 Expander 展开时,我想使用参数 gridAdvanced 执行 AdvancedCommand。

实现这一点的最佳方法是什么?

谢谢。

标签: wpfbindingexpander

解决方案


我建议将 mm8 的解决方案与 Freggar建议的事件Expanded一起使用

<UserControl
xmlns:i="clr-amespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"/>
   <Expander>
       <i:Interaction.Triggers>
           <i:EventTrigger EventName="Expanded" >
              <i:InvokeCommandAction Command="{Binding AdvancedCommand}" CommandParameter="{Binding ElementName=gridAdvances}" />
           </i:EventTrigger>
       </i:Interaction.Triggers>
   </Expander>
<UserControl>

推荐阅读