我从我的App.xaml中引用了ExpressionDark.xaml,该工作正常,但是当我尝试在ItemsControl中使用ItemContainerStyle时,ItemsControl中的项目恢复为基本样式。ItemContainerStyle覆盖泛型
<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中指定的样式更好的办法。
TIA
但是,这是'BasedOn'的属性?我不会认为ExpressionDark.xaml指定任何ItemContainerStyle? – Ian 2011-01-07 13:22:38
嗯,也许我误解了你,我认为ExpressionDark.xaml是一种风格...... 如果它是,或者如果它包含一个样式,你可以给该样式一个键,并且“BasedOn”将得到该键。 然后您将添加项目容器属性设置器。 – Notter 2011-01-07 13:27:07