【发布时间】:2015-05-27 22:16:03
【问题描述】:
我一直在试图弄清楚如何从Loaded="" 事件中传递参数。我在这里问了一个问题:How would I go about passing a parameter on Loaded=" "? 并被引导到 InvokeCommandAction 的方向。
问题是我无法弄清楚如何实际使用 InvokeCommandAction 来调用我的方法。我的 XAML:
<Expander x:Name="Greeting_And_Opening_Expander" ExpandDirection="Down" IsExpanded="True" FontSize="14" FontWeight="Bold" Margin="5" BorderThickness="1" BorderBrush="#FF3E3D3D">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding ExpanderLoaded}"
CommandParameter="x:Static local:Sections.Opening"/>
</i:EventTrigger>
</i:Interaction.Triggers>
我在后面的代码中有一个名为 ExpanderLoaded 的方法,如下所示:
private void ExpanderLoaded(object sender, RoutedEventArgs e, Sections section)
{
//Do Stuff
}
和一个Enum在同一个命名空间下:
public enum Sections
{
Default = 0,
Opening = 1,
Verify = 2
}
我需要做什么才能使用我在上面发布的 XAML 调用我的方法?我对 WPF 很陌生,所以如果我最后问了一些看起来很愚蠢的问题,请耐心等待。我浏览了 stackoverflow,阅读了其他类似的问题,但无法获得足够的信息来独自继续。
【问题讨论】:
标签: c# wpf xaml events parameter-passing