嗨,我是wpf的新手,我想在运行时根据一些事件使用xaml在网格中添加控件,比如选择上下文菜单项。如果可以,请提供一些代码片段。我只想用xaml。
不能在运行时仅使用XAML添加控件,但可以使用EventTriggers:设置控件的可见性
<StackPanel>
<Button Content="First">
<Button.Triggers>
<EventTrigger RoutedEvent="{x:Static Button.ClickEvent}">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Second" Storyboard.TargetProperty="Visibility" Duration="0">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<Button x:Name="Second" Content="Second" Visibility="Collapsed"/>
</StackPanel>
我认为这种方法很糟糕,但它很有效:)从代码后面添加控件要简单得多。