Wpf 如何将AdornedControl中的ItemsSource绑定到其装饰程序的属性?
WPF。净额4.6.1 下面的代码正确地创建了由InkCanvas和背景线的多个书写框组成的装饰器。它正确绑定到视图模型中的属性Wpf 如何将AdornedControl中的ItemsSource绑定到其装饰程序的属性?,wpf,xaml,Wpf,Xaml,WPF。净额4.6.1 下面的代码正确地创建了由InkCanvas和背景线的多个书写框组成的装饰器。它正确绑定到视图模型中的属性 现在,我想改变一下: <ItemsControl x:Name="WritingLayerControl" ItemsSource="{Binding TranscriptionLayer.WritingBoxes}" > 因此,“WritingBox”属性位于Adorner类本身,而不是viewmodel中。在viewmodel中,它被定义为:
现在,我想改变一下:
<ItemsControl x:Name="WritingLayerControl" ItemsSource="{Binding TranscriptionLayer.WritingBoxes}" >
因此,“WritingBox”属性位于Adorner类本身,而不是viewmodel中。在viewmodel中,它被定义为:
private ObservableCollection<WritingBoxViewModel> _writingBoxes;
public ObservableCollection<WritingBoxViewModel> WritingBoxes
{
get { return _writingBoxes; }
set { if (_writingBoxes == value) return; _writingBoxes = value; RaisePropertyChanged(); }
}
private-observeCollection\u写入框;
公共可观测集合写入框
{
获取{return\u writingbox;}
设置{if(_writingbox==value)返回;_writingbox=value;RaisePropertyChanged();}
}
问题:如何将AdornedControl中的ItemsSource绑定到Adorner中的属性?(请记住,装饰物在任何给定时间都可能可见,也可能不可见。)
TIA您是否尝试过
RelativeSource={RelativeSource Self}
?您还可以尝试编辑装饰器的模板,并使用模板绑定@andryalonzov Yes。我尝试过所有形式的相关资源,包括FindAncestor或是运气不佳。我不知道,在这个时候,需要对模板进行哪些更改…有什么想法吗?谢谢。你试过RelativeSource={relativesourceself}
吗?您还可以尝试编辑装饰器的模板,并使用模板绑定@andryalonzov Yes。我尝试过所有形式的相关资源,包括FindAncestor或是运气不佳。我不知道,在这个时候,需要对模板进行哪些更改…有什么想法吗?谢谢
private ObservableCollection<WritingBoxViewModel> _writingBoxes;
public ObservableCollection<WritingBoxViewModel> WritingBoxes
{
get { return _writingBoxes; }
set { if (_writingBoxes == value) return; _writingBoxes = value; RaisePropertyChanged(); }
}