Динамически создаваемая сетка не сжимается при расширении экспандера - WPF - PullRequest
0 голосов
/ 05 марта 2020

У меня есть сетка, которая содержит 2 элемента управления, динамическую сетку c и расширитель. По некоторым причинам, с этими определениями столбцов, расширитель расширяется, но вторая внутренняя / динамическая c сетка не меняет размеры / не сжимается - я знаю, что это что-то с сеткой, но я не знаю, что.

Это фрагмент xaml:

<Grid Grid.Column="0" Grid.Row="1" 
                    IsHitTestVisible="{Binding Path=(run), 
                                Converter={StaticResource InverseBooleanConverter}}"  
                                  Name="mainGrid" 
                                  Background="Transparent" 
                                  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
                                      MinWidth="{Binding GridWidth}" MinHeight="{Binding GridHeight}"
                                   utils:SizeObserver.Observe="True" 
                                   utils:SizeObserver.ObservedHeight="{Binding GridHeight,
                                    Mode=OneWayToSource}"
                                   utils:SizeObserver.ObservedWidth="{Binding GridWidth,
                                    Mode=OneWayToSource}">
                        <ItemsControl x:Name="eItemControl" ItemsSource="{Binding eCompositeCollection}">
                            <ItemsControl.ItemContainerStyle>
                                <Style>
                                    <Setter Property="Grid.Row" Value="{Binding Row}"/>
                                    <Setter Property="Grid.Column" Value="{Binding Column}"/>
                                </Style>
                            </ItemsControl.ItemContainerStyle>
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <Grid HorizontalAlignment="Stretch" 
                                             VerticalAlignment="Stretch" Name="wGrid" Grid.Row="1" 
                                             MinWidth="{Binding MinWidth, ElementName=mainGrid}" 
                                             MinHeight="{Binding MinHeight, ElementName=mainGrid}" 
                                             utils:GridHelper.RowCount="{Binding RowCount}"
                                             utils:GridHelper.StarRows="{Binding StarRows}"
                                             utils:GridHelper.ColumnCount="{Binding ColumnCount}"
                                             utils:GridHelper.StarColumns="{Binding StarColumns}"/>
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                            <ItemsControl.Resources>
                                <DataTemplate DataType="{x:Type engine:Wodel}">
                                    <ToggleButton
                                                    Tag="{Binding}"
                                                    Height="{Binding ElementName=eItemControl, 
                                                Path=DataContext.nHWidth}"
                                                    Width="{Binding ElementName=eItemControl, 
                                                Path=DataContext.nHWidth}"
                                                    HorizontalAlignment="Stretch"
                                                    VerticalAlignment="Stretch"
                                                    Margin="{Binding ElementName=eItemControl, 
                                                Path=DataContext.BMargin}"
                                                    Padding="2"
                                                    Style="{StaticResource Wbutton}">
                                </ToggleButton>
                                </DataTemplate>
                                <DataTemplate DataType="{x:Type erModel}">
                                    <TextBlock Text="{Binding jName}" Style="{StaticResource GridHeaders}"/>
                                </DataTemplate>
                            </ItemsControl.Resources>
                        </ItemsControl>
                        <ItemsControl ItemsSource="{Binding huil}">
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <Canvas/>
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <Rectangle Width="{Binding Width}" Height="{Binding Height}" 
                                                       Visibility="{Binding Visibility}">
                                        <Rectangle.RenderTransform>
                                            <TranslateTransform X="{Binding X}" Y="{Binding Y}"/>
                                        </Rectangle.RenderTransform>
                                    </Rectangle>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </ItemsControl>
                </Grid>
                <Expander Grid.Column="1" Grid.Row="1" IsExpanded="False" ExpandDirection="Right">
                        // SOME EXPANDER CODE
                </Expander>

И оригинальных определений сетки в родительской сетке, в которых они оба:

                <Grid.RowDefinitions>
                    <RowDefinition Height="0.1*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="0.1*"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="auto"/>
                </Grid.ColumnDefinitions>

Если кто-то может помочь, как я на самом деле не знаю, откуда go отсюда и в чем может быть проблема ...

1 Ответ

0 голосов
/ 06 марта 2020

Удаление этого из родительской сетки исправило это .... пытаясь выяснить, почему ...?

MinWidth="{Binding GridWidth}" MinHeight="{Binding GridHeight}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...