【发布时间】:2021-04-16 08:25:38
【问题描述】:
我从我的 ViewModel 收到一些坐标,我需要有一个 WPF Canvas 的子节点,其中心位于这些坐标上。
我怎样才能做到这一点?我尝试了几种 RenderTransform,但都无法达到预期的效果。
<Canvas>
<SomeControl Canvas.Left="{Binding ToolBarHorizontalPosition}" Canvas.Top="{Binding ToolBarVerticalPosition}"/>
</Canvas>
public MyViewModel: INotifyPropertyChanged{
public double ToolBarHorizontalPosition {get;set;}
public double ToolBarVerticalPosition{get;set;}
public void SomeUpdater(){
ToolBarHorizontalPosition = ...;
ToolBarVerticalPosition= ...;
// Raise property changed
}
}
问题是控件将具有动态大小(它的内容会增长),所以我不能直接计算工具栏位置来引用左/右(因为我不知道宽度)。
有没有办法在 XAML 中做到这一点?
【问题讨论】: