Ram349 Ответов: 1

В WPF элементы управления UserControl не изменение размера внутри окна WPF с использованием WPF


Всем Привет,
Я пытаюсь реагировать в WPF, я создал пользовательский элемент управления в том пользовательском элементе управления, который я создал свой дизайн,этот пользовательский элемент управления помещен внутри главного окна, здесь моя проблема заключается в том, что когда я пытаюсь изменить размер главного окна, удерживающего пользовательский элемент управления, пользовательский элемент управления не будет следовать за родительским окном и не будет также изменять размер.
Мой код управления пользователем
<UserControl x:Class="Class.View.UC1"

             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 

             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 

             xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"

              mc:Ignorable="d" 

              Height="600" Width="576" MinHeight="600" MinWidth="576">
    <UserControl.Resources>
        <viewmodel:ExtractInfoVM x:Key="vm"></viewmodel:ExtractInfoVM>

    </UserControl.Resources>
    <UserControl.DataContext>
        <viewmodel:ExtractInfoVM></viewmodel:ExtractInfoVM>
    </UserControl.DataContext>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="10" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="*" />
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="*" />
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <!--Row 0-->

        <Label  Grid.Column="0" Grid.Row="0"  MaxHeight="25" Content="Vendor:" Name="lblVendor"/>
        <ComboBox ItemsSource="{Binding VendorList}"  SelectedValue="{Binding SelectedVendor}"  Grid.Column="1"  

          x:Name="cboVendor"  Grid.ColumnSpan="4" />
        <!--Row 1-->
        <Label Grid.Column="0" Grid.Row="1" MaxHeight="25" Content="Server:" Name="lblServer"/>
        <ComboBox Grid.Column="1" ItemsSource="{Binding Servers}"  

                    SelectedValue="{Binding SelectedServer}"

                      x:Name="cboServer"  Grid.ColumnSpan="4"  Grid.Row="1" />
        <!--Row 2-->
         <Label Grid.Column="0" Grid.Row="2" MaxHeight="25" Content="DataBase:" Name="lblDataBase"/>
        <ComboBox Grid.Column="1" ItemsSource="{Binding Databases}"  

                    SelectedValue="{Binding SelectedDatabase}"

                      x:Name="cboDatabase"  Grid.ColumnSpan="4"  Grid.Row="2" />

         <!--Row 7-->
        <TextBox Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="3" Background="#FFEFECCD" Text="{Binding AnalysisInfo}" Name="txtDesciptoin" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" TextWrapping="NoWrap" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" BorderThickness="2" />
        <Border BorderBrush="Silver" BorderThickness="1" Grid.Column="3" Grid.Row="3" MaxHeight="120" Grid.ColumnSpan="2" >
            <ListBox Name="lstReferenc" 

                             SelectedItem="{Binding Path=SelectedGranularity,UpdateSourceTrigger=PropertyChanged}" 

         ItemsSource="{Binding Granularitylist, NotifyOnSourceUpdated=True}" SelectionMode="Multiple" Margin="103,8,9,8" IsEnabled="{Binding Path=AllPropertiesValid}" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding DetailValue}"/>
                    </DataTemplate>
                </ListBox.ItemTemplate>

                <ListBox.ItemContainerStyle>
                    <Style TargetType="{x:Type ListBoxItem}">


                        <Style.Triggers>
                            <DataTrigger Binding="{Binding IsSelected}" Value="True">
                                <Setter Property="Background" Value="Red" />
                            </DataTrigger>
                        </Style.Triggers>
                        <Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}"/>
                    </Style>

                </ListBox.ItemContainerStyle>

            </ListBox>
        </Border>
        <Grid Grid.Row="3" Grid.Column="3">
            <Grid.RowDefinitions>
                <RowDefinition Height="10*" />
                <RowDefinition Height="15*" />
                <RowDefinition Height="15*" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Label Content="Granularity:" Grid.Column="0" Grid.Row="0" Height="25"   Name="label5" Grid.ColumnSpan="3"   />
            <Button Content="Select All"  Command="{Binding SelectAll}" Grid.ColumnSpan="2"

                        Grid.Column="0" Grid.Row="1" Height="23" HorizontalAlignment="Stretch"  Name="btnSelectAll"  Width="75" IsEnabled="{Binding Path=AllPropertiesValid}"  />
            <Button Content="Unselect All" Grid.Column="0" Grid.Row="2" Height="23" HorizontalAlignment="Stretch" Command="{Binding UnSelectAll}"

                        Name="btnUnselectAll"  Width="75"  IsEnabled="{Binding Path=AllPropertiesValid}" Grid.ColumnSpan="2" />
        </Grid>
    </Grid>
</UserControl>

и мой файл MainWindow код
<Window

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        xmlns:View="clr-namespace:Class.View" x:Class="ELT_Data_Extractor.ELT_Data_Extract"

       

         Height="620" Width="586" WindowStartupLocation="CenterScreen">
    
        <View:DataBaseBrowser HorizontalAlignment="Center" Width="576" VerticalAlignment="Top" Height="550" Margin="1,0" />
        <Button x:Name="CancelButton" Content="Cancel"  Width="75" Height="23" HorizontalAlignment="Right" Margin="0,528,15,29"  Click="CancelButton_Click" />
        <Button x:Name="OKButton" Content="OK"  Width="75" Height="23" HorizontalAlignment="Right" Margin="0,528,101,29"  Click="OKButton_Click" />

    </Grid>
</Window>

Когда я разворачиваю окно, usercontrol также подходит ему, как и окно
не могли бы вы предоставить мне какое-нибудь решение?

Что я уже пробовал:

я хорошо справился с этой проблемой, и я не решил свою проблему.и я попытался удалить высоту и ширину для пользовательского управления, но это не работает, и я попробовал это ниже Ссылка Решение также не работает
[^]

Simon Ferry

вау, хороший код, как я вижу

1 Ответов

Рейтинг:
2

Graeme_Grant

У вас есть фиксированный Width и Height и VerticalAlignment установлен в Top:

<View:DataBaseBrowser HorizontalAlignment="Center" Width="576" VerticalAlignment="Top" Height="550" Margin="1,0" />

Чинить:
<View:DataBaseBrowser HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="1,0" />


Graeme_Grant

Проверьте наличие более фиксированных Ширин и высот + горизонтальное выравнивание и вертикальное выравнивание, не настроенное на растяжение.