티스토리 뷰

ListBox에 Context 메뉴를 호출하는 방법은 아래와 같이 간단히 할 수 있다.

<ListBox.ContextMenu> ... </ListBox.ContextMenu>

이렇게 하면 아이템이 선택되지 않았을 경우도 ContextMenu가 나타난다. 


<ListBox  x:Name="listThumbnail" Width="..." Height="..." 
                 ItemsSource="{Binding thumb}"
                 ItemTemplate="{DynamicResource itemTemplate}" 
                 ItemsPanel="{DynamicResource panelTemplate}"
                 ... >

                <ListBox.ContextMenu>
                    <ContextMenu>
                        <MenuItem Header="Menu1" Click="btn_Menu1" />
                        <MenuItem Header="..." Click="..." />
                    </ContextMenu>
                </ListBox.ContextMenu>
            </ListBox>


ListBox의 Item이 선택된 후에 Context 메뉴를 나타나게 하기 위해서는 

 ListBox의 DataTemplate 안에 StackPanel을 위치시키고, StackPanel의 ContextMenu를 호출한다.

---------------
<DataTemplate x:Key="itemTemplate" >
            <StackPanel Orientation="Vertical" Width="..." Height="..." >
                <StackPanel.ContextMenu>
                    <ContextMenu>
                       <MenuItem Header="Menu1" Click="btn_Menu1" />
                        <MenuItem Header="..." Click="..." />
                    </ContextMenu>
                </StackPanel.ContextMenu>
        </DataTemplate>
-------------------

이렇게 하면 Item이 선택되었을 때에만 메뉴가 나타난다..


'전공 > WPF 삽질들..' 카테고리의 다른 글

WPF 디자이너 오류 중 하나  (0) 2015.02.27
Disable Backspace, Navigate application  (0) 2014.03.21
system.windows.data error: 23  (1) 2014.03.21
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함