Как избавиться от надоедливого предупреждения о связывании HorizontalContentAlignment?
Я работаю над большим проектом WPF, и во время отладки мое окно вывода заполняется этими раздражающими предупреждениями:
Информация System.Windows.Data: 10: Невозможно получить значение, используя привязку, и допустимое> резервное значение не существует; вместо этого используется значение по умолчанию.BindingExpression: Path = HorizontalContentAlignment; DataItem = NULL; целевой элементComboBoxItem'(Name =' '); Свойство target - «HorizontalContentAlignment» (тип> «HorizontalAlignment»)
В конкретном примере ComboBoxItem оформляется следующим образом:
<Style x:Key="{x:Type ComboBoxItem}" TargetType="{x:Type ComboBoxItem}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<Border
Name="bd"
Padding="4,4,4,4"
SnapsToDevicePixels="True"
CornerRadius="2,2,2,2">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsHighlighted" Value="true">
<Setter TargetName="bd" Property="Background" Value="{StaticResource MediumBrush}"/>
<Setter TargetName="bd" Property="Padding" Value="4,4,4,4"/>
<Setter TargetName="bd" Property="CornerRadius" Value="2,2,2,2"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Я знаю, что проблема генерируется определением темы по умолчанию дляComboBoxItem который содержит такие вещи, как:
<Setter Property="Control.HorizontalContentAlignment">
<Setter.Value>
<Binding Path="HorizontalContentAlignment" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=ItemsControl, AncestorLevel=1}" />
</Setter.Value>
</Setter>
но я также подумал, что с помощью
<Setter Property="OverridesDefaultStyle" Value="True"/>
бы позаботился о проблеме, и вместо этого предупреждения все еще там.
РЕДАКТИРОВАТЬ: Чтобы воспроизвести проблему, вам необходимо переопределить также стиль ComboBox, как это сделано в этом примере из MSDN:Пример ComboBox ControlTemplate
Любая помощь очень ценится