2 回答

TA貢獻1811條經(jīng)驗 獲得超4個贊
您需要實現(xiàn)ItemContainerStyle如下:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="Transparent" />
<Style.Triggers>
<DataTrigger Binding="{Binding Validation.HasErrors}" Value="True">
<Setter Property="BorderBrush" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
這將使您能夠更改ListBoxItem自身的邊框,從而使整個事物隨心所欲。

TA貢獻1810條經(jīng)驗 獲得超5個贊
您可以忘記 ErrorTemplate 并僅使用 DataTrigger 綁定到Validation.HasErrors:
<StackPanel>
<StackPanel.Resources>
<Style TargetType="{x:Type StackPanel}" BasedOn="{StaticResource {x:Type StackPanel}}">
<Style.Triggers>
<DataTrigger Binding="{Binding Validation.HasErrors}" Value="True"> <!-- change all text to red -->
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
</StackPanel>
如果你想要一個高亮,你可以用一個 Border 包裹 StackPanel 并在一個樣式中將它的顏色設置為紅色。
- 2 回答
- 0 關注
- 218 瀏覽
添加回答
舉報