0

Androidの連絡先のような、画像と書式設定されたテキストとアイコンを使用してある種のリストビューを作成できるc#のコントロールはありますか? 私が見つけた最も近いものはこれです:

1) http://www.c-sharpcorner.com/UploadFile/mgold/ListViewInCSharp11172005021741AM/ListViewInCSharp.aspx

2) http://www.dreamincode.net/forums/topic/75911-adding-images-to-listview/

私の意見では、これはAndroidやiPhoneでできることと比較して非常に醜いです.次のようなものです:

http://www.trymasak.my/sample/iphone2.jpg
4

3 に答える 3

1

あなたの言っていることはわかりますが、多くの場合、何かを「機能させる」ことと「スタイリングする」ことは、2 つの非常に異なるものです。また、使用しているテクノロジーにも大きく依存します: WinForms (おそらく最も簡単に始めることができますが、カスタマイズは大変な作業になる可能性があります)、WPF、Silverlight など、リストは続きます。

これが私がつまずいたものです。それも割と最近。WinForms をすぐに使い始めるのに役立つと確信しています。これは ObjectListView と呼ばれます。

http://www.codeproject.com/Articles/16009/A-Much-Easier-to-Use-ListView

于 2012-05-17T12:37:17.073 に答える
1

WinForms と WPF のどちらを使用するか気にしない場合は、WPF を使用することをお勧めします。

のようなものが必要な場合はListView、 を使用してみてくださいDataGrid。ここで必要な基本概念は、DataTemplate. 内でDataTemplate、セルの内容を好きなようにスタイル変更できます。

これは私のコードの一部から抜粋した大まかな例ですが、それ自体をコンパイルすることはしていません。良いスタートが切れます。

<DataGrid ItemsSource="{Binding MyGridData}" AutoGenerateColumns="False" Name="my_datagrid">
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="Column1">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Image Source={Binding GridCellImage}" />
                        <TextBlock Text="{Binding GridCellText}" />
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

理解するためにデータバインディングを読んでくださいMyGridData。基本的には、グリッドに情報を提供するコード ビハインドのコレクションになります。List<T>またはのようなものである可能性がありますObservableCollection<T>GridCellImageT は、とという 2 つのパブリック プロパティを持つクラスですGridCellText。WPF を使用すると、コード ビハインドでデータを簡単に作成できます。また、データ バインドされているため、GUI が自動的に更新されます ( の場合ObservableCollection)。GridCellImage画像パスとGridCellTextそのセルに必要なテキストに 設定します。GridCellImage実際に機能させるにはもっと指定する必要がありますが、この回答のポイントは、WPF でデータを好きなように表示するように再テンプレート化することがいかに簡単かを示すことです。

お役に立てれば!

于 2012-05-17T12:43:06.040 に答える
0

wpf プロジェクトを使用します。StackPanel または Dockpanel のいずれかを作成し、そこにコンポーネントを追加します。

次に、このパネルをグリッド ビューの子に追加します。

于 2012-05-17T12:38:14.390 に答える