Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在DataTemplate中为选定样式,触发器不适用_C#_Wpf - Fatal编程技术网

C# 在DataTemplate中为选定样式,触发器不适用

C# 在DataTemplate中为选定样式,触发器不适用,c#,wpf,C#,Wpf,请查找下面的代码。我使用了itemscontrol和数据模板。 在数据模板中,我有我需要的网格和边框。 我已经使用datatemplate.Triggers编写了datatemplate的样式。 样式应用于鼠标悬停,但样式不应用于Isselected。 如何实现isselected风格??? Xaml: 一个项目控件不跟踪SelectedItem。您可以使用ListBox <ListBox HorizontalAlignment="Center" Name="lvDat

请查找下面的代码。我使用了itemscontrol和数据模板。 在数据模板中,我有我需要的网格和边框。 我已经使用datatemplate.Triggers编写了datatemplate的样式。 样式应用于鼠标悬停,但样式不应用于Isselected。 如何实现isselected风格???
Xaml:


一个
项目控件不跟踪SelectedItem。您可以使用
ListBox

<ListBox HorizontalAlignment="Center"
         Name="lvDataBinding">
    <ListBox.Resources>
        <!-- Removes default blue background for selected item -->
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
                         Color="Transparent" />
    </ListBox.Resources>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid Margin="10,0,5,0"
                  Width="500">
                <Grid.RowDefinitions>
                    <RowDefinition Height="120*" />
                    <RowDefinition Height="5" />
                    <RowDefinition Height="120*" />
                    <RowDefinition Height="5" />
                    <RowDefinition Height="120*" />
                    <RowDefinition Height="5" />
                    <RowDefinition Height="120*" />
                </Grid.RowDefinitions>
                <Border x:Name="FirstSelectionBorder"
                        BorderBrush="#FF0087AA">
                    <Border x:Name="FirstNormalBorder"
                            BorderBrush="#FF555555"
                            BorderThickness="1">
                        <Grid x:Name="FirstGrid">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="10" />
                                <ColumnDefinition Width="300*" />
                                <ColumnDefinition Width="5" />
                                <ColumnDefinition Width="100" />
                                <ColumnDefinition Width="10" />
                                <ColumnDefinition Width="100" />
                                <ColumnDefinition Width="23" />
                            </Grid.ColumnDefinitions>
                            <Grid Grid.Column="1">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="10" />
                                    <RowDefinition Height="20" />
                                    <RowDefinition Height="10" />
                                    <RowDefinition Height="15" />
                                    <RowDefinition Height="5" />
                                    <RowDefinition Height="15" />
                                    <RowDefinition Height="5" />
                                    <RowDefinition Height="15" />
                                    <RowDefinition Height="5" />
                                    <RowDefinition Height="15" />
                                </Grid.RowDefinitions>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="100" />
                                    <ColumnDefinition Width="5" />
                                    <ColumnDefinition Width="100" />
                                </Grid.ColumnDefinitions>
                                <TextBlock Grid.Row="3"
                                           Text="Code"
                                           Foreground="#FF555555"
                                           FontSize="10" />
                                <Label Grid.Row="3"
                                       Grid.Column="1"
                                       Content=":"
                                       Foreground="#FF555555"
                                       FontSize="10" />
                                <TextBlock Grid.Row="3"
                                           Grid.Column="2"
                                           Text="{Binding Name}"
                                           Foreground="#FF555555"
                                           FontSize="10" />
                                <TextBlock Grid.Row="5"
                                           Text="Serial Number"
                                           Foreground="#FF555555"
                                           FontSize="10" />
                                <Label Grid.Row="5"
                                       Grid.Column="1"
                                       Content=":"
                                       Foreground="#FF555555"
                                       FontSize="10" />
                                <TextBlock Grid.Row="5"
                                           Grid.Column="2"
                                           Text="{Binding Age}"
                                           Foreground="#FF555555"
                                           FontSize="10" />
                                <TextBlock Grid.Row="7"
                                           Text="Age"
                                           Foreground="#FF555555"
                                           FontSize="10" />
                                <Label Grid.Row="7"
                                       Grid.Column="1"
                                       Content=":"
                                       Foreground="#FF555555"
                                       FontSize="10" />
                                <TextBlock Grid.Row="7"
                                           Grid.Column="2"
                                           Text="{Binding Mail}"
                                           Foreground="#FF555555"
                                           FontSize="10" />
                            </Grid>
                            <Button x:Name="OKButton"
                                    Grid.Column="3"
                                    Content="OK"
                                    VerticalAlignment="Bottom"
                                    Margin="0,0,0,10">

                            </Button>
                            <Button x:Name="Cancelbutton"
                                    Grid.Column="5"
                                    Content="Cancel"
                                    VerticalAlignment="Bottom"
                                    Margin="0,0,0,10">

                            </Button>
                            <Button x:Name="FirstDeleteButton"
                                    Grid.Column="6"
                                    VerticalAlignment="top"
                                    Margin="3,5,2,0" />
                        </Grid>
                    </Border>
                </Border>
            </Grid>

            <DataTemplate.Triggers>
                <Trigger Property="IsMouseOver"
                         Value="True">
                    <Setter TargetName="FirstNormalBorder"
                            Property="Background"
                            Value="Green" />
                </Trigger>

                <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={
                    RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem }}}"
                             Value="True">
                    <Setter TargetName="FirstNormalBorder" Property="Background"
                            Value="Red" />
                </DataTrigger>

            </DataTemplate.Triggers>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>