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