1

ListViewXML ファイルのデータを表示するコントロールがあります。ただし、アイコンとタイトルの 2 つの列をListView持つ子があります。GridViewアイデアは、要素をクリックしてタイトル列からのみ値を取得することです。代わりに、XML ノード全体を取得します。

これは理論的な質問ですが、コードが必要な場合は提供します:)

ありがとうございました

アップデート:

XML ファイル:

<list>
<item>
<title>demo</title>
<icon>icon.png</icon>
</item>
<item>
<title>demo2</title>
<icon>icon2.png</icon>
</item>
</list>

XAML:

<Page.Resources>
        <XmlDataProvider x:Key="feed"
                         Source="http://feedurl/sites.xml"
                         XPath="list/item" />

        <DataTemplate x:Key="itemIcons">
            <Grid x:Name="ImageGrid">
                <Image Source="{Binding XPath=icon}" Width="40" Height="40"></Image>
            </Grid>
        </DataTemplate>
</Page.Resources>

より多くの XAML:

<ListView Name="myList" ItemContainerStyle="{StaticResource MyContainer}" 
                  SelectionChanged="clicked" FontSize="16" HorizontalAlignment="Left" 
                  Height="auto" ScrollViewer.VerticalScrollBarVisibility="auto" VerticalAlignment="Stretch" Width="240" 
                  BorderBrush="Transparent" BorderThickness="0" 
                  ItemsSource="{Binding Source={StaticResource feed}}" 
                  SelectionMode="Single" Margin="1,36,1,1">
            <ListView.View>
                <GridView>
                    <GridView.ColumnHeaderContainerStyle>
                        <Style>
                            <Setter Property="FrameworkElement.Visibility" Value="Collapsed"/>
                        </Style>
                    </GridView.ColumnHeaderContainerStyle>
                    <GridView.Columns>
                        <GridViewColumn x:Name="showIcon" CellTemplate="{StaticResource itemIcons}"/>
                        <GridViewColumn x:Name="showSites" DisplayMemberBinding="{Binding XPath=title}" Header="some header"/>
                    </GridView.Columns>
                </GridView>
            </ListView.View>
        </ListView>

C#:

private void clicked(object sender, SelectionChangedEventArgs e)
        {
            var title= this.myList.SelectedValue.ToString();
            //MessageBox.Show(title);
        }

アイテムをクリックするListViewと、タイトルとアイコンノードが連結されます。たとえば、「demoicon.png」で、「タイトル」値のみが必要です:)

前もって感謝します ;)

4

0 に答える 0