ListBoxItem
WPF では、 に を指定することで、任意のListBox
UIを に追加できItemTemplate
ます。
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Gray" CornerRadius="8" Padding="4,0,4,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<CheckBox Grid.Column="1" Content="Is Active Customer" IsChecked="{Binding IsActive}"/>
<Label Content="Id:" Grid.Row="1" HorizontalAlignment="Right"/>
<Label Content="Name:" Grid.Row="2" HorizontalAlignment="Right"/>
<TextBox Text="{Binding Id}" Grid.Row="1" Grid.Column="1"/>
<TextBox Text="{Binding Name}" Grid.Row="2" Grid.Column="1"/>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
結果:
Windows フォームで同じことを達成する方法はありますか?
編集:
1 - Windows フォームで同じことを達成する方法はありseparation of concerns
ますView
か?Application Logic
View
2 - winforms はデータ バインディングをサポートしており、それぞれをListBoxItems
complex にバインドできますEntity
。最終的には Model データから UI データへの中間型変換を含み、大量に記述する必要はありません。ビューにデータを入力し、UI 値をモデルに戻して保存するボイラープレート コードはありますか?
3 - 現在が、多くの追加情報を表示できるある種の「行の詳細」モードに自動的に拡張さAnimations
れるような方法で紹介したい場合はどうすればよいですか?SelectedItem
4 - winformsUI Virtualization
は、たとえば 100 万個のアイテムがある場合、UI をロードするのに一生かからず、画面に表示されているものだけをレンダリングするようにサポートしていますか?
5 - 方程式に複雑なグラフィックを導入したいとします。winforms レンダリングはハードウェア アクセラレーションですか?
Resolution Independent
6 -小さい画面との互換性を維持しながら大きな画面を活用するために、ListBox とそのすべてのコンテンツが使用可能なウィンドウ サイズに拡大されるようにするにはどうすればよいですか?
ListView
7 -通常の の代わりにコントロールを使用することが提案されていますがListBox
、ListView
UI を追加する機能はありますか? たとえば、アイテムごとにビデオを追加できますか? または、保存および編集ボタンを備えた複雑なマスター/詳細テンプレートですか?
8 - winforms は、忠実度の高い WYSIWYG ドキュメントやその他の種類のリッチ コンテンツの作成を可能にする、一貫した適切なドキュメント モデルを提供しますか?