2017-09-16 9 views
1

저는 WPF 기술에 매우 초보자입니다. 나는 약 6 년 동안 WinForms에서 개발 해왔다.WPF에서 ToolStripDropDownButton에 상응하는 항목이 있습니까?

이제 WPF를 배우면서 내 기술에서 한 걸음 더 나아갈 것입니다. MSDN에서 소개 가이드를 읽는 중입니다. 개인 연습으로 WinForms UI의 구조를 해당 WPF UI로 변환하려고합니다.

이것은 내가 WPF에서 재현하고자하는 윈폼 컨트롤 구조의 간단한 모형은 다음과 같습니다

enter image description here

내 문제가 ToolStripDropDownButton 제어에 해당하는 제어/동작을 재현하기 위해 노력하고있다. Windows Forms Controls and Equivalent WPF Controls 기사에서

Microsoft는 단지 ToolStripDropDownButton을에 해당하는 제어 조성 ... 툴바 것을 말한다. 나는 그것이 "구성"에 대해 무엇을 의미하는지 전혀 이해하지 못합니다. Toolbar을 읽고 실험했지만 툴바에 드롭 다운 버튼을 추가하는 방법을 찾지 못했습니다.

내 질문 : 누군가 나를 안내하거나 툴바 내부에 드롭 다운 버튼을 추가 할 수있는 방법에 대한 간단한 예를 보여줄 수 있습니까?

+1

을 (https://stackoverflow.com/q 예를 들어, 다음과 같은 메뉴 구조로/1790858/3110834) –

+0

@Reza Aghaei 의견을 주셔서 감사합니다. 나의 두려움은 첫눈하고 버튼을 클릭 할 때 표시되는 메뉴가 될 것으로 보인다 나의 무지에서 이야기하는 "메뉴"말한다 즉,이/내가 잃게됩니다 의미 할 수있는 버튼 컨트롤을 재현 할 수 없습니다 기본적으로 버튼 오른쪽에 그려진 화살표가 있습니까? (ToolStripDropDownButton 컨트롤 에서처럼), 그 솔루션을 사용해 "메뉴"가 드롭 다운 단추로 예상되는 동작을 수행 할 수 있는지 확인합니다. 다시 한 번 감사드립니다! – ElektroStudios

+0

반갑습니다. 덧글에서 귀하의 질문에 따라 화살표 버튼뿐만 아니라 하위 메뉴에 호스팅 된 다른 컨트롤을 포함하는 코드 샘플을 추가했습니다. –

답변

1

MenuToolbar에 넣을 수 있습니다. Menu에는 MenuItem이 포함되어 있습니다. 각 MenuItemHeader이며 내용은 텍스트이거나 다른 요소 일 수 있습니다. 또한 각 MenuItem은 중첩 된 일부 또는 MenuItem을 가질 수 있습니다.

enter image description here

당신은 같은 코드를 사용할 수 있습니다

: [? WPF 도구 모음의 드롭 다운 메뉴]

<ToolBar> 
    <Menu Background="#00000000"> 
     <MenuItem > 
      <MenuItem.Header> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock>Menu 1</TextBlock> 
        <Path VerticalAlignment="Center" Margin="8,2,0,0" 
          Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/> 
       </StackPanel> 
      </MenuItem.Header> 
      <MenuItem Header="Menu 1-1" > 
       <MenuItem Header="Menu 1-1-1"/> 
       <MenuItem Header="Menu 1-1-2"/> 
      </MenuItem> 
      <MenuItem Header="Menu 1-2"/> 
      <MenuItem> 
       <MenuItem.Header><TextBox Width="100"/></MenuItem.Header> 
      </MenuItem> 
      <MenuItem> 
       <MenuItem.Header><DatePicker Width="100"/></MenuItem.Header> 
      </MenuItem> 
     </MenuItem> 
     <MenuItem > 
      <MenuItem.Header> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock>Menu 2</TextBlock> 
        <Path VerticalAlignment="Center" Margin="8,2,0,0" 
          Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/> 
       </StackPanel> 
      </MenuItem.Header> 
      <MenuItem Header="Menu 2-1"/> 
      <MenuItem Header="Menu 2-2"/> 
      <MenuItem Header="Menu 2-3"/> 
     </MenuItem> 
     <MenuItem Header="Menu 3"/> 
    </Menu> 
</ToolBar>