网格上的WPF绑定SharedSizeGroup不工作

网格上的WPF绑定SharedSizeGroup不工作,wpf,mvvm,binding,grid,Wpf,Mvvm,Binding,Grid,我正在开发一个WPF应用程序来练习MVVM。我需要4个网格,所有网格都只有两列-一列用于显示控件TextBlock/RadioButton,其中一列用于字段名称,另一列用于值控制任何需要表示字段值的控件 每个网格在另一个用户控件中,我需要使它们的所有第一列同步,这样值控件将在屏幕上伸展,而共享大小的显示控件将具有不改变的自动宽度 如果我将SharedSizeColumn设置为常量名称,则所有网格都处于完美且外观良好的同步状态,但我需要通过与视图模型绑定来设置SharedSizeColumn,因为

我正在开发一个WPF应用程序来练习MVVM。我需要4个网格,所有网格都只有两列-一列用于显示控件TextBlock/RadioButton,其中一列用于字段名称,另一列用于值控制任何需要表示字段值的控件

每个网格在另一个用户控件中,我需要使它们的所有第一列同步,这样值控件将在屏幕上伸展,而共享大小的显示控件将具有不改变的自动宽度

如果我将SharedSizeColumn设置为常量名称,则所有网格都处于完美且外观良好的同步状态,但我需要通过与视图模型绑定来设置SharedSizeColumn,因为包含这些网格的某些用户控件在选项卡视图模型之间共享以供重用,而在选项卡/视图模型之间,我不希望网格同步。 当我使用绑定设置SharedSizeGroup时,所有网格中的2列表现为根本没有设置SharedSizeGroup,我甚至尝试使用BindingOperations通过代码设置绑定,但仍然没有成功


您知道如何成功绑定SharedSizeGroup,或者其他防止SharedSizeGroup在重复使用同一用户控件的选项卡之间共享的解决方案吗?

以下是使用SharedSizeGroup进行数据绑定的完整工作示例

标记:

<Grid>
    <StackPanel Grid.IsSharedSizeScope="True" Margin="20">
        <Grid HorizontalAlignment="Left">
            <Grid.ColumnDefinitions>
                <ColumnDefinition SharedSizeGroup="{Binding ColumnA}"/>
                <ColumnDefinition SharedSizeGroup="{Binding ColumnB}"/>
            </Grid.ColumnDefinitions>
            <TextBlock Text="aa" Grid.Column="0" Foreground="Red"/>
            <TextBlock Text="bbbbbbbb" Grid.Column="1" Foreground="Blue"/>
        </Grid>
        <Grid HorizontalAlignment="Left">
            <Grid.ColumnDefinitions>
                <ColumnDefinition SharedSizeGroup="{Binding ColumnC}"/>
                <ColumnDefinition SharedSizeGroup="{Binding ColumnD}"/>
            </Grid.ColumnDefinitions>
            <TextBlock Text="cccccccc" Grid.Column="0" Foreground="Red"/>
            <TextBlock Text="dd" Grid.Column="1" Foreground="Blue"/>
        </Grid>
    </StackPanel>
</Grid>
和基本视图模型:

公共类SharedSizeGroupViewModel { 公共字符串ColumnA{get;set;} 公共字符串ColumnB{get;set;} 公共字符串ColumnC{get;set;} 公共字符串列d{get;set;} } 这就是它看起来的样子:

这显示了红色和蓝色的列排列在一起