2013-10-23 4 views
0

리본 컨트롤의 탭을 두 번 클릭하면 메뉴가 열립니다. &은 두 탭 중 하나를 다시 두 번 클릭 할 때까지 고정되어 있습니다. 이것은 기본적으로 리본 아래의 행 크기를 조정합니다. 이 크기 조정 동작을 제어 할 수있는 방법이 있습니까? 행의 위쪽 부분에서 크기를 조정하고 행의 아래쪽 부분을 고정 시키길 원합니다. 이 작업을 수행하는 목적은 하단에 도구 모음이있는 리본 아래의 행에 사용자 정의 컨트롤을 배치하는 것입니다. 도구 모음을 두 번 클릭하면이 숨겨져 &이 표시되며 사용자가 리본을 다시 두 번 클릭 할 때만 표시됩니다. 따라서 행을 아래쪽에서 고정되도록 크기 조정 동작을 제어 할 수있는 경우 사용자가 리본을 두 번 클릭 할 때도 도구 모음을 볼 수 있습니다. 내가 이것을 달성 할 수있는 방법이 있습니까? 도움이나 제안을 보내 주시면 감사하겠습니다.리본 컨트롤 더블 클릭 기능

편집 : 명확한 이해를 위해 샘플 XAML을 추가하십시오. `

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height=30/> 
    </Grid.RowDefinitions> 
    <Ribbon Grid.Row=0/> 
    <UserControlWithEmbeddedToolbarHere Grid.Row=1/> 
    <!--The toolbar is embedded within the user control & placed at the bottom of the user control--> 
    <StatusBarHere Grid.Row=2/> 
</Grid> 

`

답변

1

도구 모음의 높이입니다 RowDefinitions에서의 minHeight 포함해야 귀하의 창

<UserControl> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 
     <Grid> 
      Everything else 
     </Grid> 
     <ToolbarHere Grid.Row="1"> 
     </ToolbarHere> 
    </Grid> 
</Window> 
: 도구 모음

<Window> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*" MinHeight="40"/> 
      <RowDefinition Height="30"/> 
     </Grid.RowDefinitions> 
     <Ribbon Grid.Row="0"> 
     </Ribbon> 
     <UserControlHere Grid.Row="1"> 
     </UserControlHere> 
     <StatusBar Grid.Row="2"> 
     </StatusBar> 
    </Grid> 
</Window> 

귀하의 UserControl을

사용자 컨트롤에서 툴바의 높이를 지정하면 ' 그리드에 공간이 주어집니다. Height = "*"는 "Auto"(툴바가 필요로하는 공간)가 할당 된 이후의 모든 것입니다.

창이 먼저 리본을위한 공간을 만들고 나서 상태 표시 줄에 THEN (높이 = "*"때문에)을 추가합니다. 렌더링 된 리본이 (말하자면 ...) 40이고 상태 표시 줄이 30이고 윈도우 높이가 80 인 경우 사용자 컨트롤의 높이가 10 (80-40-30) 일 때만 가능하므로 사용자 정의 컨트롤에서 도구 모음을 참조하십시오.

usercontrol을 감싸는 scrollviewer를 추가하거나 창에 최소 높이를 설정하십시오.

+0

이전에 시도했지만 작동하지 않습니다. ** 도구 모음은 사용자 정의 컨트롤 내에서 별도의 컨트롤이 아닙니다. ** 도구 모음이 사용자 정의 컨트롤의 아래쪽 절반에 배치 되었기 때문에 도구 모음이 축소되거나 상태 표시 줄 사용자가 리본 바를 두 번 클릭 할 때 레이블이있는 특정 세부 정보). 위의 편의를 위해 샘플 XAML을 추가했습니다. – Ankit

+0

답장을 보내 주셔서 감사합니다. 여전히 작동하지 않습니다. 이유 : 사용자 정의 컨트롤의 최소 높이를 설정 한 후에도 리본이 확장 된 후 사용자 정의 컨트롤에 사용할 수있는 공간이 최소 높이보다 쉽게 ​​높습니다. 또한 포함 된 도구 모음 (도구 모음은 사용자 정의 컨트롤의 맨 아래에 있음)은 여전히 ​​축소되어 있습니다. 사용자 정의 컨트롤을 감싸는 스크롤 뷰어를 추가하여 무슨 뜻인지 설명해 주시겠습니까? 창 크기가 줄어들면 스크롤러가 나타나고 도구 모음을 보려면 아래로 스크롤 할 수 있습니까? – Ankit

+0

"및 포함 된 도구 모음 (도구 모음은 사용자 정의 컨트롤의 맨 아래에 있음)에서 여전히 축소됩니다."에서 위의 스 니펫에 따라 도구 모음을 정의하지 않은 것 같습니다. Height = "Auto"및 ** Height = "*"**를 사용하여 툴바를 항상 표시하도록 툴바를 사용자 정의 컨트롤에 정의해야합니다. ** 그런 다음이 usercontrol을에 추가합니다. MinHeight가 정의 된 윈도우. –