在XAML中,另一个元素如何访问ListView的ScrollContentPresenter?

时间:2016-12-17 03:24:46

标签: wpf data-binding

ItemTemplate的{​​{1}}内,我可以访问可视树中某处ListView的{​​{1}}属性。在某些情况下,这对我很有用:

ActualWidth

但是,我需要一些其他XAML元素将其宽度绑定到MyListView的ScrollContentPresenter的ScrollContentPresenter。如何实现,因为ListView上没有与该ScrollContentPresenter对应的DependencyProperty?

1 个答案:

答案 0 :(得分:0)

  

如何实现,因为ListView上没有与该ScrollContentPresenter对应的DependencyProperty?

简答:不可以。

由于ScrollContentPresenter在ControlTemplate中“隐藏”,定义了ListView的可视树,因此ListView本身之外的任何元素都不能绑定到此ScrollContentPresenter的任何属性。

如果其他元素以某种方式依赖于ScrollContentPresenter,您应该重新考虑您尝试做的任何事情的方法,因为绑定到属于控件的ControlTemplate的元素是不可能的。

即使它实际上是可能的,但这样做也是一个坏主意,因为定义ListView的ControlTemplate的细节是一个实现细节,可能在将来的版本中有所改变,并且外部元素不应该依赖。