je me remets sur wpf histoire de voir l'aspect accés aux donnees.
J'ai un datagrid basé sur le datacontext (le resultat de la méthode 'GetData' est un dataview).
Le but est de créer un indicateur en fonction de l'état du row (modifier la couleur par exemple)
J'ai essayé avec un style trigger sur le rowstate et le rowaction mais ca ne marche pas (rien ne se passe).
<Window x:Class="Step.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:data="clr-namespace:System.Data;assembly=System.Data"
xmlns:local="clr-namespace:Step"
Title="Step Admin" Height="350" Width="525" Loaded="Window_Loaded" Name="res">
<Window.Resources>
<ObjectDataProvider x:Key="MyDataSource" MethodName="GetData" ObjectType="{x:Type local:MyDataProvider}"/>
</Window.Resources>
<Grid>
<DataGrid AutoGenerateColumns="False" Name="dataGrid1" ItemsSource="{Binding Source={StaticResource MyDataSource}}" DataContext="{Binding}" Margin="10">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding RowState}" Value="{x:Static data:DataRowState.Modified}" >
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding RowState}" Value="{x:Static data:DataRowState.Unchanged}" >
<Setter Property="Background" Value="Aquamarine" />
</DataTrigger>
<DataTrigger Binding="{Binding RowState}" Value="{x:Static data:DataRowState.Added}" >
<Setter Property="Background" Value="Yellow" />
</DataTrigger>
<DataTrigger Binding="{Binding RowAction}" Value="{x:Static data:DataRowAction.Add}" >
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding RowAction}" Value="{x:Static data:DataRowAction.Change}" >
<Setter Property="Background" Value="Yellow" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Col1}" Header="col1" />
<DataGridTextColumn Binding="{Binding Path=Col2}" Header="col2"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
C'est possible à faire en xaml ou pas ?
merci
Modifié par ElRed, 07 November 2011 - 12:40.










Retour en haut








