Wpf listview中禁用的gridview的前景样式不会更改
我正在尝试更改WPF中禁用的gridview的前景。 我的xaml如下所示:Wpf listview中禁用的gridview的前景样式不会更改,wpf,xaml,listview,gridview,Wpf,Xaml,Listview,Gridview,我正在尝试更改WPF中禁用的gridview的前景。 我的xaml如下所示: <ListView Grid.ColumnSpan="2" Grid.Row="3" ItemsSource="{Binding Lote_Entrada_Viscera.Detalle_Entrada_Viscera}" IsEnabled="False" Foreground="Black"> <ListView.ItemContainerStyle>
<ListView Grid.ColumnSpan="2" Grid.Row="3" ItemsSource="{Binding Lote_Entrada_Viscera.Detalle_Entrada_Viscera}" IsEnabled="False" Foreground="Black">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource MetroListViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Completo}" Value="True">
<Setter Property="Background" Value="Green"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Completo}" Value="False">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView AllowsColumnReorder="False" ColumnHeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle2}">
<GridViewColumn Header="Producto" Width="250" DisplayMemberBinding="{Binding Producto}">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding}" Width="250"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Cantidad Lote" DisplayMemberBinding="{Binding Cantidad_Lote}" Width="100"></GridViewColumn>
<GridViewColumn Header="Procesados" DisplayMemberBinding="{Binding Capturadas}" Width="75"></GridViewColumn>
<GridViewColumn Header="Por Procesar" Width="90" DisplayMemberBinding="{Binding Por_Procesar, StringFormat={}{0:#}}"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
我看到的所有答案都表明IsEnabled上的触发器应该可以工作,但它保持默认的灰色。我知道触发器工作,因为我测试了改变背景,它工作了。你知道怎么解决这个问题吗
请考虑我使用的是mahapps样式。添加一个x:键为GrayNormalBrush的画笔到:
查看您的代码,在第一行中,您将前景设置为黑色,当它被禁用时,它也设置为黑色,这是否正确?您想更改它的颜色,但它被设置为相同的颜色
<ListView Grid.ColumnSpan="2" Grid.Row="3" ItemsSource="{Binding Lote_Entrada_Viscera.Detalle_Entrada_Viscera}" IsEnabled="False" Foreground="Black">
<ListView.Resources>
<SolidColorBrush x:Key="GrayNormalBrush" Color="Black" />
</ListView.Resources>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource MetroListViewItem}">
<Setter Property="Background" Value="Green"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Completo}" Value="False">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
...
</ListView.View>
</ListView>