请教一个关于ItemsControl的绑定问题
wpf吧
全部回复
仅看楼主
level 1
huang_bo_king 楼主
请教一下大神,我给ItemsControl定义了一个附加属性(customcontrol:ControlAttachProperty.IsEditAble),然后想在子项的ItemContainerStyle中绑定它,应该怎么做?
<Style x:Key="StwdRectStyle" TargetType="ItemsControl">
<Setter Property="customcontrol:ControlAttachProperty.IsEditAble" Value="True"/>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style>
<Setter Property="Canvas.Left" Value="{Binding Left}" />
<Setter Property="Canvas.Top" Value="{Binding Top}" />
<Setter Property="Panel.ZIndex" Value="{Binding ZIndex}" />
<Setter Property="customcontrol:ControlAttachProperty.IsEditAble" Value="{Binding customcontrol:ControlAttachProperty.IsEditAble,RelativeSource={RelativeSource TemplatedParent}}"/>
</Style>
</Setter.Value>
</Setter>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate DataType="md:StwdRect">
<ContentControl x:Name="ctentCtrl" >
... ...
<s:MoveThumb x:Name="moveThumb" />
... ...
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<cmd:EventToCommand Command="{Binding ClickCommand, Mode=OneWay}"
PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ContentControl>
<DataTemplate.Triggers>
<Trigger Property="customcontrol:ControlAttachProperty.IsEditAble" Value="True">
<Setter TargetName="moveThumb" Property="Cursor" Value="SizeAll" />
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
现在有个办法是把ItemsSource数据源中的每个元素加一个属性IEditAble,这样就不用给ItemsControl添加附加属性customcontrol:ControlAttachProperty.IsEditAble了,但我觉得这不科学啊,每一个"子Item"都是属于ItemsControl的子项,为什么子项的property不能和ItemsControl的property绑定呢?
2017年01月22日 03点01分 1
1