WPF:如何链接两个视口?

WPF:如何链接两个视口?,wpf,viewbox,Wpf,Viewbox,是否可以链接两个视口,使它们始终使用相同的比例因子? 或者,是否可以提取ViewBox的当前比例因子以用于另一个元素的比例转换 谢谢。我想出了一个主意。我认为我们可以利用网格的SharedSizeGroup功能来实现这一点 这是一个简单的例子 <ListBox Grid.IsSharedSizeScope="True" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch" VerticalContentAlignment=

是否可以链接两个视口,使它们始终使用相同的比例因子? 或者,是否可以提取ViewBox的当前比例因子以用于另一个元素的比例转换


谢谢。

我想出了一个主意。我认为我们可以利用网格的
SharedSizeGroup
功能来实现这一点

这是一个简单的例子

<ListBox Grid.IsSharedSizeScope="True" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
  <ListBox.ItemsPanel>
    <ItemsPanelTemplate>
      <UniformGrid/>
    </ItemsPanelTemplate>
  </ListBox.ItemsPanel>
  <ListBox.ItemTemplate>
    <DataTemplate>
      <Viewbox Margin="5" Stretch="Uniform">
        <Grid>
          <Grid.ColumnDefinitions>
            <ColumnDefinition SharedSizeGroup="col"/>
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition SharedSizeGroup="row"/>
          </Grid.RowDefinitions>
          <TextBlock Text="{Binding Name}"/>
        </Grid>
      </Viewbox>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>


公共部分类Test2:窗口
{
公共测试2()
{
初始化组件();
DataContext=新列表()
{
新建MyClass2(){Name=“A”},
新建MyClass2(){Name=“BB”},
新建MyClass2(){Name=“cccc”},
新建MyClass2(){Name=“DDD”},
新建MyClass2(){Name=“eee”}
};
}
}
类别MyClass2
{
公共字符串名称{get;set;}
}

我一年前就尝试过实现这一目标。。。我认为这可能是相关的:但是在你费心调用它之前,确保
Child
不是空的。谢谢你,Ed。这似乎是获得当前比例因子的一种可能性。如果你把你的评论变成一个答案,我可以投票给这个答案,并将其标记为最喜欢的答案。你有没有一个解决方案,如何轻松链接视图框?
public partial class Test2 : Window
{

  public Test2()
  {
    InitializeComponent();
    DataContext = new List<MyClass2>()
    {
      new MyClass2(){Name="A"},
      new MyClass2(){Name="BB"},
      new MyClass2(){Name="CCCCCCCCCCCC"},
      new MyClass2(){Name="DDD"},
      new MyClass2(){Name="EEEEEEE"}
    };
  }
}

class MyClass2
{
  public string Name { get; set; }
}