Avatar
ORRNY99
Člen
Avatar
ORRNY99:

Ahoj lidi.
Jsem začínající programátor a tak trochu jsem se dostal do slepé uličky a potřeboval bych trochu poradit.
Vytvářím jednoduchý video přehrávač a teď se snažím k němu vytvořit i jednoduchý „playlist“. Mám ListBox do něj vkládám položky. Jak mohu docílit toho, když dvakrát kliknu myší na položku v listboxu se zobrazí něco jako ikona „play“ právě jenom u přehrávaného filmu, tak jak to funguje u klasických video přehrávačů. Díky moc za jakoukoliv radu.

Když tak přikládám zdrojový kód programu.

https://onedrive.live.com/redir?…

screenshot dosavadního playlistu http://i.imgur.com/DkieyOp.gifv

Když tak tady je úryvek datatemplatu ListBoxu

<DataTemplate x:Key="EmployeeDataTemplate"  DataType="x:Type local:DemoListItem">
            <Grid d:DesignWidth="667.323" d:DesignHeight="88.025">
                <Border Margin="45,10,0,0" BorderBrush="#FF2C2C2C" BorderThickness="1" HorizontalAlignment="Left" Width="75" Height="66" VerticalAlignment="Top" Panel.ZIndex="1">
                    <Image x:Name="ImageThumbnail" Source="{Binding Path=PosterMovies}" Stretch="Fill" Width="75" Margin="-1" HorizontalAlignment="Stretch" />
                </Border>
                <TextBlock HorizontalAlignment="Left" Margin="129,10,0,0" TextWrapping="Wrap" Text="Movie Name :" VerticalAlignment="Top" Foreground="#FFE01C49" FontSize="16" Panel.ZIndex="1"/>
                <TextBlock HorizontalAlignment="Left" Margin="129,60,0,0" TextWrapping="Wrap" Text="Path : " VerticalAlignment="Top" Foreground="#FFE01C49" Panel.ZIndex="1"/>
                <TextBlock x:Name="FileName" Margin="232,0,9.323,57.025" TextWrapping="Wrap" Text="{Binding Path=NameMovie}" FontSize="16" Height="21" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Width="Auto" Panel.ZIndex="1"/>
                <TextBlock x:Name="FilePath" Margin="167,0,10.323,12.025" TextWrapping="Wrap" Text="{Binding Path=VideoPath}" HorizontalAlignment="Stretch" Width="Auto" Height="16" VerticalAlignment="Bottom" Panel.ZIndex="1"/>
                <Path x:Name="pathSelected" Fill="#FF0F90CD" Stretch="Fill" Stroke="#FF0F90CD" Width="32"
                Height="32" Data="M293.002,78.53C249.646,3.435 153.618,-22.296 78.529,21.068 3.434,64.418 -22.298,160.442 21.066,235.534 64.416,310.629 160.441,336.364 235.531,293.004 310.627,249.639 336.371,153.62 293.002,78.53z M219.834,265.801C159.767,300.493 82.94,279.907 48.258,219.828 13.568,159.761 34.161,82.935 94.23,48.26 154.301,13.57 231.124,34.154 265.808,94.231 300.493,154.307 279.906,231.117 219.834,265.801z M213.555,150.652L131.341,102.703C123.849,98.329,117.806,101.826,117.848,110.492L118.269,205.666C118.307,214.33,124.424,217.857,131.938,213.517L213.523,166.414C221.029,162.082,221.045,155.026,213.555,150.652z"                                              Visibility="Hidden" Margin="4.677,28.962,0,27.063" HorizontalAlignment="Left" Panel.ZIndex="1"/>
                <Rectangle Fill="#FF0F90CD" Height="Auto" Margin="0,0,0.323,0.025" Stroke="#FF0F90CD" VerticalAlignment="Stretch" Width="Auto" Opacity="0"/>
            </Grid>
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type ListBoxItem}, Mode=FindAncestor}}" Value="True">
                    <Setter TargetName="pathSelected" Property="Visibility" Value="Visible"/>
                </DataTrigger>
            </DataTemplate.Triggers>
        </DataTemplate>
 
Odpovědět 28. února 23:20
Avatar
Odpovídá na ORRNY99
sadlomaslox25:

co takto ?

<Grid>
        <Grid.Resources>
            <BooleanToVisibilityConverter x:Key="boolToVisCon" />
        </Grid.Resources>
        <ListBox Name="listbox" ItemsSource="{Binding Data}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Background="Transparent" Orientation="Horizontal">
                        <Path Visibility="{Binding IsSelected, Converter={StaticResource boolToVisCon}}" Fill="#FF0F90CD" Stretch="Fill" Stroke="#FF0F90CD" Width="32" Height="32" Margin="4.677,28.962,0,27.063" HorizontalAlignment="Left" Panel.ZIndex="1"
                              Data="M293.002,78.53C249.646,3.435 153.618,-22.296 78.529,21.068 3.434,64.418 -22.298,160.442 21.066,235.534 64.416,310.629 160.441,336.364 235.531,293.004 310.627,249.639 336.371,153.62 293.002,78.53z M219.834,265.801C159.767,300.493 82.94,279.907 48.258,219.828 13.568,159.761 34.161,82.935 94.23,48.26 154.301,13.57 231.124,34.154 265.808,94.231 300.493,154.307 279.906,231.117 219.834,265.801z M213.555,150.652L131.341,102.703C123.849,98.329,117.806,101.826,117.848,110.492L118.269,205.666C118.307,214.33,124.424,217.857,131.938,213.517L213.523,166.414C221.029,162.082,221.045,155.026,213.555,150.652z"/>
                        <TextBlock Text="{Binding Text}"/>
                        <StackPanel.InputBindings>
                            <MouseBinding MouseAction="LeftDoubleClick" CommandParameter="{Binding}" Command="{Binding DataContext.SelectCommand, ElementName=listbox}" />
                        </StackPanel.InputBindings>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
 
Nahoru Odpovědět 1. března 13:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.