ListBox с Дважды щелкают на использовании Items по DataTemplate

Присвойте пустой указатель местоположениям массива.

5
задан Default 8 January 2013 в 08:41
поделиться

1 ответ

Я играл с этим и думаю, что у меня получилось ...

Хорошая новость в том, что вы можете применить стиль к своему ListBoxItem и примените DataTemplate - один не исключает другого ...

Другими словами, вы можете иметь что-то вроде следующего:

    <Window.Resources>
        <DataTemplate x:Key="fileTemplate" DataType="{x:Type local:FileTemplate}">
...
        </DataTemplate>
    </Window.Resources>

    <Grid>

        <ListBox ItemsSource="{Binding Templates}" 
                 ItemTemplate="{StaticResource fileTemplate}">
            <ListBox.ItemContainerStyle>
                <Style TargetType="{x:Type ListBoxItem}">
                    <EventSetter Event="MouseDoubleClick" Handler="DoubleClickHandler" />
                </Style>
            </ListBox.ItemContainerStyle>
        </ListBox>

    </Grid>

, а затем реализовать обработчик в своем окне, например

public void DoubleClickHandler(object sender, MouseEventArgs e)
{
    // item will be your dbl-clicked ListBoxItem
    var item = sender as ListBoxItem;

    // Handle the double-click - you can delegate this off to a 
    // Controller or ViewModel if you want to retain some separation
    // of concerns...
}
12
ответ дан 13 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: