I have a ComboBox that composes a DataTemplate, and I'm having trouble binding its IsEnabled property to the IsReadOnly property on the templated DataGridTemplateColumn.
I've been receiving the following error in my VS output window:
'IsReadOnly' property not found on 'object' ''ContentPresenter'
ComboBox style:
<Style TargetType="{x:Type ComboBox}" x:Key="ProficiencyColumnComboBoxStyle">
<Setter Property="IsEnabled"
Value="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
Path=IsReadOnly, Converter={StaticResource BooleanOppositeConverter}}" />
</Style>
I believe the problem is with how I specify the RelativeSource intended to identify my DataGridColumn. I've tried:
RelativeSource={RelativeSource TemplatedParent}RelativeSource AncestorType={x:Type DataGridColumn}RelativeSource AncestorType={x:Type DataGridTemplateColumn}
I've tried adding other setters to this style, and they do take effect, so I know the style and DataTemplate are being applied to the controls.
P.S.
I've used this same technique to bind another ComboBox within a DataTemplate to a property on the parent DataGrid of its templated columns. The difference is that here I'm using a converter, and trying to bind to a property on a column (instead of the grid.) However, even if I remove the converter from the above style, no binding takes place.
No comments:
Post a Comment