C# 有没有办法将Canvas子级设置为绑定并使Canvas.Left/Top/ZIndex工作?

C# 有没有办法将Canvas子级设置为绑定并使Canvas.Left/Top/ZIndex工作?,c#,win-universal-app,uwp,xbind,C#,Win Universal App,Uwp,Xbind,我正在尝试编写带有绑定的儿童集合集的画布。它不能像其他控件那样完成,在互联网上有许多解决方案如何在WPF中完成,但是它们都不适用于UWP应用程序,而且可能性有限 我现在拥有的是ItemsControl,它被覆盖为Canvas控件,而不是默认的StackPanel。 这是我的密码: <ItemsControl x:Name="Railer" ItemsSource="{x:Bind ViewModel.ItemsToShowInCanvas, Mode=TwoWay, Converter={

我正在尝试编写带有绑定的儿童集合集的画布。它不能像其他控件那样完成,在互联网上有许多解决方案如何在WPF中完成,但是它们都不适用于UWP应用程序,而且可能性有限

我现在拥有的是ItemsControl,它被覆盖为Canvas控件,而不是默认的StackPanel。 这是我的密码:

<ItemsControl x:Name="Railer" ItemsSource="{x:Bind ViewModel.ItemsToShowInCanvas, Mode=TwoWay, Converter={StaticResource OtoO}}">
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <Canvas x:Name="MyCanvas"/>
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                    <ItemsControl.ItemTemplate>
                    <DataTemplate x:DataType="v:SubPanelViewModel">
                        <Grid>
                            <v:SubPanelView Width="100" Height="{Binding ActualHeight, ElementName=MyCanvas}"                                               
                                            ManipulationDelta="TextBlock_ManipulationDelta" ManipulationMode="All"
                                            ManipulationCompleted="SubPanelView_ManipulationCompleted"
                                            />
                            <Grid.RenderTransform>
                                <TranslateTransform X="{Binding Left, Mode=OneWay}" Y="{Binding Top, Mode=OneWay}"/>
                            </Grid.RenderTransform>
                        </Grid>                            
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>

SubPanelView是我的自定义控件,datacontext是SubPanelView模型,它包含我绑定到视图的Left、Top和ZIndex属性。 使用RenderTransform是将我的元素设置在我想要的位置的一种方法,这是我通过搜索互联网找到的唯一方法,可以像使用Canvas.Left/Top属性一样定位元素

我不能做的是正确地设置ZIndex属性-不知道我在尝试什么。原因是我的项目不是画布的直接子项。我只是想在我操作它的时候把它放到前面


我应该放弃,用代码隐藏的方式做所有事情,还是有办法实现我想要的?

另请参见。我已经在下面写给Rachel的内容是一样的——绑定在See中不起作用,这是一个解决方法。