Как сделать высоту экспандера полной - PullRequest
0 голосов
/ 26 февраля 2020

Мне нужен способ расширить "Expander 2" до его полной как второй захват. Когда я пытаюсь поместить вкладку компонента в расширитель, я не могу сделать его полный вид. Когда я пытаюсь настроить высоту экспандера изнутри Visual Studio, это не позволяет мне. Я также поделился своим XAML файлом. Не могли бы вы показать мне способ для этого?

Редактировать: После того, как я изменил Высота = "*", все еще есть проблема, которая на этот раз мой компонент вкладки не коррелирует с высотой расширителя.

Capture

Capture

Capture 3


<sc:UItemEditScreen> 
<Grid> 
  <Grid.RowDefinitions> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="*" /> 
  </Grid.RowDefinitions> 
  <ucs:UExpander IsAddButtonVisible="False" IsRemoveButtonVisible="False" AddCommand="{x:Null}" RemoveCommand="{x:Null}" AddCommandParameter="{x:Null}" RemoveCommandParameter="{x:Null}" Caption="Expander 1" IsCaptionVisible="True" CaptionTextVerticalAlignment="Top" AccessMode="Editable" BehaviourType="None" IsRequiredForSave="False" IsRequiredForRead="False" Visibility="Visible" ManageChildren="False" Foreground="#FF565151" FontFamily="Segoe UI" FontSize="11"> 
    <Grid> 
      <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="310" /> 
        <ColumnDefinition Width="310" /> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
        <RowDefinition Height="Auto" /> 
      </Grid.RowDefinitions> 
      <ucs:UTextBox IsDialogEnabled="True" IsRequiredForSave="True" BehaviourType="Entry" /> 
    </Grid> 
  </ucs:UExpander> 
  <ucs:UExpander IsAddButtonVisible="False" IsRemoveButtonVisible="False" AddCommand="{x:Null}" RemoveCommand="{x:Null}" AddCommandParameter="{x:Null}" RemoveCommandParameter="{x:Null}" Caption="Expander 2" IsCaptionVisible="True" CaptionTextVerticalAlignment="Top" AccessMode="Editable" BehaviourType="None" IsRequiredForSave="False" IsRequiredForRead="False" Visibility="Visible" ManageChildren="False" Foreground="#FF565151" FontFamily="Segoe UI" FontSize="11" Grid.Row="1"> 
    <Grid> 
      <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="310" /> 
        <ColumnDefinition Width="310" /> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
        <RowDefinition Height="Auto" /> 
      </Grid.RowDefinitions> 
      <ucs:UTab> 
        <ucs:UTab.Items> 
          <ucs:UTabItemsCollection> 
            <ucs:UTabItem Header="Tab 1" ToolTipService.ShowOnDisabled="True"> 
              <ucs:UTabItem.HeaderForeground> 
                <Binding Path="IsSelected"> 
                  <Binding.Converter> 
                    <dx:BoolToObjectConverter> 
                      <dx:BoolToObjectConverter.TrueValue> 
                        <SolidColorBrush Color="{Binding Path=RibbonSelectedTitleForeground.Color, Mode=OneWay}" /> 
                      </dx:BoolToObjectConverter.TrueValue> 
                      <dx:BoolToObjectConverter.FalseValue> 
                        <SolidColorBrush Color="{Binding Path=RibbonUnselectedTitleForeground.Color, Mode=OneWay}" /> 
                      </dx:BoolToObjectConverter.FalseValue> 
                    </dx:BoolToObjectConverter> 
                  </Binding.Converter> 
                </Binding> 
              </ucs:UTabItem.HeaderForeground> 
              <Grid /> 
            </ucs:UTabItem> 
            <ucs:UTabItem Header="Tab 2" ToolTipService.ShowOnDisabled="True"> 
              <ucs:UTabItem.HeaderForeground> 
                <Binding Path="IsSelected"> 
                  <Binding.Converter> 
                    <dx:BoolToObjectConverter> 
                      <dx:BoolToObjectConverter.TrueValue> 
                        <SolidColorBrush Color="{Binding Path=RibbonSelectedTitleForeground.Color, Mode=OneWay}" /> 
                      </dx:BoolToObjectConverter.TrueValue> 
                      <dx:BoolToObjectConverter.FalseValue> 
                        <SolidColorBrush Color="{Binding Path=RibbonUnselectedTitleForeground.Color, Mode=OneWay}" /> 
                      </dx:BoolToObjectConverter.FalseValue> 
                    </dx:BoolToObjectConverter> 
                  </Binding.Converter> 
                </Binding> 
              </ucs:UTabItem.HeaderForeground> 
              <Grid /> 
            </ucs:UTabItem> 
          </ucs:UTabItemsCollection> 
        </ucs:UTab.Items> 
      </ucs:UTab> 
    </Grid> 
  </ucs:UExpander> 
</Grid> 
</sc:UItemEditScreen> 



1 Ответ

1 голос
/ 26 февраля 2020

Установите RowDefinition Height = * для второй строки, где будет располагаться Expander2.

<sc:UItemEditScreen> 
  <Grid> 
    <Grid.RowDefinitions> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="*" /> <----- This means rest of the space will be taken
    </Grid.RowDefinitions> 

</Grid> 

Обновление:

Ваш Xaml странный по сравнению с тем, что вы пытаетесь достичь.

См. В разделе Expander2:

<ucs:UExpander Grid.Row="1"> 
    <Grid> 
      <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="310" /> 
        <ColumnDefinition Width="310" />  <---- Why fixed width columns an also why 2 of them
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
        <RowDefinition Height="Auto" />  <--- This should be *
      </Grid.RowDefinitions> 

У вас есть 2 столбца шириной 310 пикселей и один ряд с автонастройкой. На вашей вкладке нет назначенных столбцов Grid.Row или Grid.Column, поэтому по умолчанию она будет go в Row = 0, столбец = 0.

Здесь также измените эту высоту строки Grid * и найдите причину, почему у вас есть 2 столбца

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...