Я ссылаюсь на ExpressionDark.xaml из моего App.xaml, который отлично работает, однако, когда я пытаюсь использовать ItemContainerStyle в ItemsControl, элементы в ItemsControl возвращаются к основному стилю.ItemContainerStyle overriding Общий стиль
<ItemsControl Grid.Column="1" VerticalAlignment="Center" Margin="10">
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Margin" Value="5" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.Items>
<TextBlock Text="{Binding Error}" />
<TextBox Text="{Binding Path=Username,UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{StaticResource validationTemplate}"></TextBox>
<TextBox Text="{Binding Path=Password,UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{StaticResource validationTemplate}"></TextBox>
<Button VerticalAlignment="Center" HorizontalAlignment="Right" Command="{Binding SignInCommand}" IsEnabled="{Binding CanSignIn}" Content="Sign In"></Button>
<TextBox Text="{Binding Path=Username}"></TextBox>
</ItemsControl.Items>
</ItemsControl>
Я только пытаюсь найти хорошее управление для вертикальной укладки (легко добавлять маржу между элементами), так что, возможно, есть лучший способ, который не отменяет стиль, указанный в App.xaml.
ТИА
Но какое это свойство будет «BasedOn»? Я бы не подумал, что ExpressionDark.xaml указывает любой ItemContainerStyle? – Ian
Хм, может быть, я вас неправильно понял, я думал, что ExpressionDark.xaml был стилем ... если он есть, или если он содержит стиль, вы можете дать этому стилю ключ, а «BasedOn» получит этот ключ. , то вы добавите элемент настройки контейнера элементов. – Notter