Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF:避免重新绘制groupbox以适应内容_Wpf_Resize_Width_Redraw_Groupbox - Fatal编程技术网

WPF:避免重新绘制groupbox以适应内容

WPF:避免重新绘制groupbox以适应内容,wpf,resize,width,redraw,groupbox,Wpf,Resize,Width,Redraw,Groupbox,我正在使用一个有3行网格的页面,其中每行包含一个groupbox。GroupBox还包含具有不同内容的不同网格。 我想让我所有的分组框都适合相同的宽度。起初就是这样。但是,当第一个组框的内容从代码隐藏更新时,组框会在很短的时间内重新绘制(宽度较小),但一秒钟后,它会再次适合宽度。 最初是“未连接”,改为“已连接”,因此宽度较小。 我的窗口的宽度设置为最大化,我不想为页面和网格设置固定的宽度和高度。有没有一种方法可以让我只更新内容,而不让盒子尝试适应内容 示例(2行): 我现在使用的是Unifo

我正在使用一个有3行网格的页面,其中每行包含一个groupbox。GroupBox还包含具有不同内容的不同网格。 我想让我所有的分组框都适合相同的宽度。起初就是这样。但是,当第一个组框的内容从代码隐藏更新时,组框会在很短的时间内重新绘制(宽度较小),但一秒钟后,它会再次适合宽度。 最初是“未连接”,改为“已连接”,因此宽度较小。 我的窗口的宽度设置为最大化,我不想为页面和网格设置固定的宽度和高度。有没有一种方法可以让我只更新内容,而不让盒子尝试适应内容

示例(2行):



我现在使用的是UniformGrid,它解决了这个问题…

取决于您如何更改内容,但最终结果仍然符合预期,即使在短时间内,GroupBox似乎改变了宽度。至少我是这样理解你的问题的。所以问题是,当它起作用时,为什么还要担心这个呢是的,它可以工作,但并不完美;-)泰坦尼克号是完美的。我们都知道她发生了什么。不要担心那些小细节。别担心那种行为。这在wpf中实际上是正常的。
<Grid Grid.IsSharedSizeScope="True" Name="globalGrid" >
    <Grid.ColumnDefinitions>
        <ColumnDefinition SharedSizeGroup="globalCol"/>          
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition SharedSizeGroup="RowA"/> 
        <RowDefinition SharedSizeGroup="RowA"/>
        <RowDefinition SharedSizeGroup="RowA"/>
    </Grid.RowDefinitions>
    <GroupBox Header="Connection status" 
              Grid.Row="0" Grid.Column="0"
              HorizontalAlignment="Stretch">          
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition />                   
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>             
            <Rectangle Name="Connected"  
                       Style="{StaticResource iconConnectStyle}" 
                       DataContext="{Binding DeviceConnection}" 
                       Grid.Row="0" Grid.Column="0"  />
            <TextBlock Text="device 1:" 
                       Grid.Row="0" Grid.Column="1" 
                       Style="{StaticResource statusText}"/>
            <TextBlock Name="dev1" Grid.Row="0" Grid.Column="2" 
                       Style="{StaticResource statusText}" />                      
        </Grid>
    </GroupBox>

    <GroupBox Header="processing status"  
              Grid.Row="1" Grid.Column="0"
              HorizontalAlignment="Stretch">          
        <StackPanel>
            <TextBlock x:Name="processState" Style="{StaticResource statusText}"/>
            <ProgressBar x:Name="progressState"/>
        </StackPanel>
    </GroupBox>      
</Grid>