visual studio que puede programacion presentacion hacer ejemplos desventajas con animaciones wpf xaml datatrigger

studio - Disparadores de WPF



visual studio wpf (3)

Estoy intentando establecer un disparador para mostrar un bloque de texto cuando el valor que obtengo para la celda es de cierto tipo.

Logré mostrar una imagen en la misma situación, pero en esta circunstancia no quiero una imagen, sino algo de texto.

Comentar líneas para probar. Intentar hacerlo funcionar. ¡El código comentado funciona! El textblock text = xxx dentro de él, no.

Este es mi (s) intento (s)

<wpfToolkit:DataGridTemplateColumn Header="P" Width="20"> <wpfToolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <!-- <DataTemplate.Triggers> --> <!-- <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="1"> --> <TextBlock Text="XXX" /> <!-- </DataTrigger> --> <!-- <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="2"> --> <!-- <Setter TargetName="cablePrecedenceIndicatorImage" Property="Source" Value="Resources/Images/small_exclamation_mark.png"/> --> <!-- </DataTrigger> --> <!-- </DataTemplate.Triggers> --> </DataTemplate> </wpfToolkit:DataGridTemplateColumn.CellTemplate> </wpfToolkit:DataGridTemplateColumn>


Brillante! Montones de gracias :)

Esto es con lo que terminé. Si PrecedenceIndicator = 1, display!, Si PrecendenceIndicator = 2, display !!.

<wpfToolkit:DataGridTemplateColumn Header="A" Width="20"> <wpfToolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock> <TextBlock x:Name="block1" Text="&#x21;" Visibility="Collapsed"/> <TextBlock x:Name="block2" Text="&#x21; &#x21;" Visibility="Collapsed"/> </TextBlock> <DataTemplate.Triggers> <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="1"> <Setter TargetName="block1" Property="Visibility" Value="Visible"/> </DataTrigger> <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="2"> <Setter TargetName="block2" Property="Visibility" Value="Visible"/> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> </wpfToolkit:DataGridTemplateColumn.CellTemplate> </wpfToolkit:DataGridTemplateColumn>


Establezca el contenido de DataTemplate en TextBlock y configure la visibilidad en función del desencadenador. No estoy seguro de qué es el segundo DataTrigger porque se refiere a un nombre de destino que no existe en el alcance actual, por lo que no sé cómo encaja.

<DataTemplate> <TextBlock x:Name="block" Text="XXX" Visibility="Collapsed"/> <DataTemplate.Triggers> <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="1"> <Setter TargetName="block" Property="Visibility" Value="Visible"/> </DataTrigger> <!--<DataTrigger Binding="{Binding PrecedenceIndicator}" Value="2"> <Setter TargetName="cablePrecedenceIndicatorImage" Property="Source" Value="Resources/Images/small_exclamation_mark.png"/> </DataTrigger>--> </DataTemplate.Triggers> </DataTemplate>


Necesita cambiar el tipo de DataTemplate, en función de su activador, de una Imagen a un Cuadro de texto.

<DataTemplate> <ContentPresenter x:Name="Presenter" /> <DataTemplate.Triggers> <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="1"> <Setter TargetName="Presenter" Property="Content"> <Setter.Value> <TextBlock Text="XXX" /> </Setter.Value> </Setter> </DataTrigger> <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="2"> <Setter TargetName="cablePrecedenceIndicatorImage" Property="Source" Value="Resources/Images/small_exclamation_mark.png"/> </DataTrigger> </DataTemplate.Triggers> </DataTemplate>