J'ai un Ellipse
dans chaque TabControl
en-tête qui est de mettre en surbrillance bleu s'il y a des éléments sélectionnés dans le DataGrid
ci-dessous, sinon il devrait être transparent. En ce moment j'ai le Trigger
en sens inverse donc si le DataGrid
SelectedItems.Count
est 0 il est transparent, s'il y a un chemin pour avoir la valeur par défaut qui serait sympa.Comment définir le déclencheur de style Ellipse sur TabControl pour mettre en surbrillance lorsque DataGrids a la sélection
Remarque: Il aura plusieurs onglets associés et DataGrids
.
Comment puis-je obtenir le Style
Trigger
fonctionne correctement sur le Ellipse
?
<TabControl Name="tcGeometry" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5" ItemsSource="{Binding GEOMETRIES}" >
<TabControl.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding DISPLAY_NAME}" Margin="0,0,25,0"/>
<Ellipse x:Name="SelectionIndicator"
Width="8" Height="8"
Stroke="Black"
Fill="Blue"
StrokeThickness="1"
HorizontalAlignment="Right"
VerticalAlignment="Top">
<Ellipse.Style>
<Style TargetType="{x:Type Ellipse}">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItems.Count, ElementName=dgAudit}" Value="0">
<Setter Property="Fill" Value="Transparent" />
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
</Grid>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<Grid ShowGridLines="False">
<DataGrid Name="dgAudit"
Grid.Row="0"
Grid.Column="0"
IsReadOnly="True"
ItemsSource="{Binding GEOM_ASSET_OC_LIST}"
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
AutoGenerateColumns="False"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
RowDetailsVisibilityMode="Collapsed"
RowHeaderWidth="30" />
</Grid>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Vous pouvez lier la propriété '' Tag' de chaque TabItem' la 'DataGrid' correspondante et utiliser dans le chemin de la propriété de liaison de votre Trigger. – dymanoid