标签: sharedsizegroup

Grid SharedSizeGroup - 列正在弹跳,在无限循环中调整大小

我需要有水平和垂直标题的表(简单的PivotGrid).我在这里发现了一些类似(或几乎相同)的问题,但没有人给出解决方案.在XAML中我定义了这个结构:

<Grid x:Name="grdMain" Background="White" Grid.IsSharedSizeScope="True">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Grid Grid.Row="0" Grid.Column="1" x:Name="grdHorizontalHeader">
        <!-- place for column definitions and header labels defined in code -->
    </Grid>
    <Grid Grid.Row="1" Grid.Column="0" x:Name="grdVerticalHeader">
        <!-- place for column definitions and header labels defined in code -->
    </Grid>
    <Grid Grid.Row="1" Grid.Column="1" x:Name="grdContent">
        <!-- place for column definitions and header labels defined in code -->
    </Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

因此,两个头都包含一些具有一些ColumnDefinitions(resp.RowDefinitions)的网格,我需要根据Content-ColumnDefinitions调整Header-ColumnDefinitions的大小.我在代码中这样做:

foreach (var row in myColumnSource)
{ …
Run Code Online (Sandbox Code Playgroud)

wpf grid issharedsizescope sharedsizegroup

8
推荐指数
1
解决办法
1429
查看次数

WPF:为什么 SharedSizeScope 没有按预期工作?

我正在尝试使用合并单元格创建类似数据网格的视图。一切都很好,除了我不能ShareSizeScope在标题行和其余行之间。您可以在下面的屏幕截图中看到,除了第一列之外,列没有对齐。有人可以指出我的代码有什么问题吗?提前致谢。
在此处输入图片说明

我的 XAML:

<Grid  Grid.Row ="0" Grid.Column="0" Margin="0,0,2,0" Grid.IsSharedSizeScope="True">
    <Grid.RowDefinitions>
        <RowDefinition Height="35" MaxHeight="35" MinHeight="35"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid Grid.Row="0" Height="35"  VerticalAlignment="Top" Background="{StaticResource customBlueBrush}">
        <Grid.ColumnDefinitions>
            <ColumnDefinition SharedSizeGroup="Col_A" />
            <ColumnDefinition SharedSizeGroup="Col_B" />
            <ColumnDefinition SharedSizeGroup="Col_C" />
            <ColumnDefinition SharedSizeGroup="Col_D" />
            <ColumnDefinition SharedSizeGroup="Col_E" />
        </Grid.ColumnDefinitions>
        <Border BorderThickness="0,0,1,0" BorderBrush="Black" Margin="-1" Grid.Column="0"></Border>
        <Border BorderThickness="0,0,1,0" BorderBrush="Black" Margin="-1" Grid.Column="1"></Border>
        <Border BorderThickness="0,0,1,0" BorderBrush="Black" Margin="-1" Grid.Column="2"></Border>
        <Border BorderThickness="0,0,1,0" BorderBrush="Black" Margin="-1" Grid.Column="3"></Border>

        <TextBlock Text="Col 1" FontSize="14" FontFamily="Segoe Ui Dark" Foreground="White" SnapsToDevicePixels="True" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="0" ></TextBlock>
        <TextBlock Text="Col 2" FontSize="14" FontFamily="Segoe …
Run Code Online (Sandbox Code Playgroud)

wpf xaml sharedsizegroup

6
推荐指数
1
解决办法
1874
查看次数

SharedSizeGroup到不同父控件中的不同Grid

所以,我有 3 个用户控件:

1.第五节.xaml

<UserControl x:Class="NumberedMusicalScoresWriter.V.SectionV"...>
...
    <Grid Background="{Binding BackgroundColor, Mode=OneWay}" Grid.IsSharedSizeScope="True">
        ...
        <V:BarV Grid.Column="0" Grid.Row="0" DataContext="{Binding GClefBarVM, Mode=OneWay}"/>
        <V:BarV Grid.Column="0" Grid.Row="2" DataContext="{Binding FClefBarVM, Mode=OneWay}"/>
    </Grid>
...
Run Code Online (Sandbox Code Playgroud)

2.BarV.xaml

<UserControl x:Class="NumberedMusicalScoresWriter.V.BarV"...>
...
    <Grid Background="{Binding BackgroundColor, Mode=OneWay}">
        ...
        <ItemsControl Grid.Column="0" Grid.Row="0"
                      ItemsSource="{Binding NotationGroupVMs, Mode=OneWay}">
            ...
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <V:NotationGroupV/>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </Grid>
...
Run Code Online (Sandbox Code Playgroud)

3.NotationGroupV.xaml

<UserControl x:Class="NumberedMusicalScoresWriter.V.NotationGroupV"...>
...
    <Grid Background="{Binding BackgroundColor, Mode=OneWay}">
        ...
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto" SharedSizeGroup="Mid"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        ...
    </Grid>
...
Run Code Online (Sandbox Code Playgroud)

正如您所想到的,是inNotationGroupV的集合,并且由 2拥有。(也用作其父控件的集合成员) …

c# wpf xaml user-controls sharedsizegroup

2
推荐指数
1
解决办法
1315
查看次数