簡體   English   中英

將ContextMenu放入WPF樣式

[英]putting ContextMenu in WPF Styles

我試圖將ContextMenu設置為下面的樣式,以便可以由所有文本框共享。

<Grid.Resources>
            <Style x:Key="Cell" TargetType="TextBox">
                <Setter Property="Margin" Value="0"/>
                <Setter Property="BorderBrush" Value="Black"/>
                <Setter Property="BorderThickness" Value="0.2"/>
                <Setter Property="VerticalAlignment" Value="Stretch"/>
                <Setter Property="HorizontalAlignment" Value="Stretch"/>
                <Setter Property="MinHeight" Value="30"/>
                <Setter Property="MinWidth" Value="70"/>
                <Setter Property="ContextMenu">
                    <Setter.Value>
                        <ContextMenu>
                            <MenuItem Header="Level1" Click="SubLevel1_Click_1"/>
                            <MenuItem Header="SubLevel1"/>
                        </ContextMenu>
                    </Setter.Value>
                </Setter>
            </Style>

        </Grid.Resources>

直到我添加Click事件,這段代碼才能正常工作。 添加click事件時,它會生成,但在執行時會引發異常:“設置connectionId引發異常”。 行號“ 21”和行位置“ 34”。

我在這里做錯什么了嗎?

不知道是什么原因造成的,但是您可以通過將ContextMenu用作單獨的資源來輕松解決此問題:

<ContextMenu x:Key="ContextMenu">
    <MenuItem Header="Level1" Click="SubLevel1_Click_1"/>
    <MenuItem Header="SubLevel1"/>
</ContextMenu>
<Style TargetType="TextBox">
    <Setter Property="ContextMenu" Value="{StaticResource ContextMenu}"/>
</Style>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM