Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
2090
TemplateField in XamDatagrid: Visibility of one element in the TemplateField
posted

Hello,

I am using a XamDatagrid with a templatefield. This templatefield has a datatemplate with a Stackpanel. Inside the Stackpanel are: An icon, a textblock and a button.

I want to make the button visibily only when the cursor is over the templatefield. What I got so far: When the cursor is over the StackPanel. It fails on the button itself and also on the unused spaced between end of Stackpanel and templatefield.

Current XAML see below.

Please advice how the buttons visibility can be controlled by the cursor hoovering over the whole templatefield.

Thanks

Niko

    <igDP:TemplateField.DisplayTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal" Name="TeamStackPanel">

                                    <Image Source="pack://application:,,,/Bauradar.Common;component/images/Small/Team_16x16.png" Margin="0,0,5,0"/>
                                    <TextBlock VerticalAlignment="Center" Text="{Binding .}" FontWeight="Bold" />

                                    <Button Name="NeueArbeitszeit" Command="{Binding Path=Data.AddRessourceOnTopCommand, Source={StaticResource Proxy}}" Background="Transparent" BorderBrush="Transparent" Height="16" Width="16" VerticalAlignment="Center" Margin="5,0,0,0">
                                        <Image Source="/Bauradar.Common;component/images/Small/Mitarbeiter_neu_16x16.png" />
                                        <Button.Resources>
                                            <Style TargetType="Button">
                                                <Style.Triggers>
                                                    <DataTrigger Binding="{Binding Path=IsMouseOver, ElementName=TeamStackPanel}" Value="False">
                                                        <Setter Property="Visibility" Value="Collapsed"/>
                                                    </DataTrigger>
                                                </Style.Triggers>

                                                <Setter Property="Template">
                                                    <Setter.Value>
                                                        <ControlTemplate TargetType="Button">
                                                            <Border>
                                                                <Border.Style>
                                                                    <Style TargetType="{x:Type Border}">
                                                                        <Style.Triggers>
                                                                            <Trigger Property="IsMouseOver" Value="True">
                                                                                <Setter Property="BorderBrush" Value="Gray"/>
                                                                                <Setter Property="BorderThickness" Value="1"/>
                                                                            </Trigger>
                                                                        </Style.Triggers>
                                                                    </Style>
                                                                </Border.Style>
                                                                <Grid Background="Transparent">
                                                                    <ContentPresenter></ContentPresenter>
                                                                </Grid>
                                                            </Border>
                                                        </ControlTemplate>
                                                    </Setter.Value>
                                                </Setter>
                                            </Style>
                                        </Button.Resources>
                                    </Button>

                                </StackPanel>
                            </DataTemplate>
                        </igDP:TemplateField.DisplayTemplate>
                    </igDP:TemplateField>