Добавить пользовательский шаблон в ListView - GridView WPF? - PullRequest
0 голосов
/ 05 июля 2011

В настоящее время у меня есть этот код XAML:

<ListView x:Name="listFeedSearch" Margin="-548.856,95.333,0,7.667" HorizontalAlignment="Left" Width="542.5" RenderTransformOrigin="0.5,0.5" ItemsSource="{Binding SearchCollection}">
    <ListView.RenderTransform>
        <TransformGroup>
            <ScaleTransform/>
            <SkewTransform/>
            <RotateTransform/>
            <TranslateTransform/>
        </TransformGroup>
    </ListView.RenderTransform>
    <ListView.View>
        <GridView>
            <GridViewColumn Width="150" Header="Feed Name" x:Name="listFeedSearchName" DisplayMemberBinding="{Binding FeedName}"  />
            <GridViewColumn Width="280" Header="Feed Address" x:Name="listFeedSearchAddress" DisplayMemberBinding="{Binding FeedUrl}" />
            <GridViewColumn Width="100" Header=" " x:Name="listFeedSearchSelect" />
        </GridView>
    </ListView.View>
</ListView>

Что я хочу сделать, это иметь listFeedSearchSelect кнопку в ячейке для каждой записи.

То, что я пытался сделатьсделать это, но не сработало, все, что он сделал, это отобразить как пустую ячейку:

<GridViewColumn Header=" " Width="100" x:Name="listFeedSearchSelect">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
                <Button Content="Select" />
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

Может кто-нибудь помочь мне здесь, спасибо.

Ответы [ 2 ]

2 голосов
/ 05 июля 2011

Попробуйте настроить свой шаблон в качестве ресурса. Вот так:

<Window.Resources>
    <DataTemplate x:Key="SelectButtonColumnDataTemplate">
        <Button Content="Select" Command="{Binding SelectItemCommand}" />
    </DataTemplate>
</Window.Resources>
<ListView x:Name="listFeedSearch" HorizontalAlignment="Left" Width="542.5" RenderTransformOrigin="0.5,0.5" ItemsSource="{Binding SearchCollection}">
    <ListView.RenderTransform>
        <TransformGroup>
            <ScaleTransform/>
            <SkewTransform/>                
            <RotateTransform/>                
            <TranslateTransform/>            
            </TransformGroup>        
            </ListView.RenderTransform>        
    <ListView.View>            
        <GridView>                
            <GridViewColumn Width="150" Header="Feed Name" x:Name="listFeedSearchName" DisplayMemberBinding="{Binding FeedName}"  />                
            <GridViewColumn Width="280" Header="Feed Address" x:Name="listFeedSearchAddress" DisplayMemberBinding="{Binding FeedUrl}" />                
            <GridViewColumn Width="100" Header=" " CellTemplate="{StaticResource SelectButtonColumnDataTemplate}" />            
        </GridView>        
        </ListView.View>    
</ListView>
0 голосов
/ 05 июля 2011

Если я просто скопирую и вставлю ваши GridViewColumn и в коллекцию элементов , она действительно отобразит кнопку, как и ожидалось. Проблема может быть в вашем контексте.

...