gpt4 book ai didi

WPF ContextMenu 复杂项目在单击时保持打开状态?

转载 作者:行者123 更新时间:2023-12-02 01:02:44 25 4
gpt4 key购买 nike

所以我有一个复杂的上下文菜单。它不只是菜单项。它也有单选按钮,底部有一个堆栈面板,上面有一个整数上下框。

contextmenu

<Button.ContextMenu>
<ContextMenu>
<RadioButton Tag="30" Content="30 seconds" GroupName="adLength" Checked="adLength_Checked" IsChecked="True"/>
<RadioButton Tag="60" Content="1 minutes" GroupName="adLength" Checked="adLength_Checked"/>
<RadioButton Tag="90" Content="1 min 30 sec" GroupName="adLength" Checked="adLength_Checked"/>
<RadioButton Tag="120" Content="2 minutes" GroupName="adLength" Checked="adLength_Checked"/>
<RadioButton Tag="150" Content="2 min 30 sec" GroupName="adLength" Checked="adLength_Checked"/>
<RadioButton Tag="180" Content="3 minutes" GroupName="adLength" Checked="adLength_Checked"/>
<Separator/>
<MenuItem x:Name="advert_Auto" Header="Run Automatically" IsCheckable="true" StaysOpenOnClick="True"/>
<StackPanel Orientation="Horizontal">
<TextBlock>every</TextBlock>
<xctk:IntegerUpDown x:Name="advert_Time" Value="30" Minimum="15" Width="50" Margin="5,0" />
<TextBlock>min</TextBlock>
</StackPanel>
</ContextMenu>
</Button.ContextMenu>

<MenuItem>对象具有 staysopenonclick 的选项;当有人点击该项目时,上下文菜单保持打开状态。 <RadioButton>对象没有该选项,但它们仍然保持打开状态。

我遇到的问题是最后一项 <StackPanel> .当用户点击 IntegerUpDown 的文本区域时, 上下文菜单关闭。这使得按原样使用该项目变得几乎不可能。有没有更好的方法来做我想在上下文菜单中做的事情?有没有办法让上下文菜单保持打开状态,直到用户在菜单外单击?

最佳答案

只需将 StackPanel 填充到 MenuItem 中作为其 header ,并将 StaysOpenOnClick 属性设置为 true

<MenuItem StaysOpenOnClick="True">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock>every</TextBlock>
<TextBox Text="30" Width="50" Margin="5,0" />
<TextBlock>min</TextBlock>
</StackPanel>
</MenuItem.Header>
</MenuItem>

关于WPF ContextMenu 复杂项目在单击时保持打开状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26589469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com