データバインディングにListBoxを使用している場合、リストボックスは各アイテムのリストボックス項目を生成します。コンボボックスとcomboBoxItemも同じです。 私の質問は - どのように私はそれを自分自身の設定ItemsControlのために設定するのですか? (例えば、包含要素を境界にする)? ILSpyで少し掘った後データバインディングでitemscontrolの生成された項目を設定する方法は?
答えて
- どうやら魔法が
protected override DependencyObject GetContainerForItemOverride()
{
return new ListBoxItem();
}
で行われ
これは、リストボックスはそれをしないところである - そして私のコントロールに私もこれをオーバーライドする必要があります。それはあなたのUIとは外観や特定の行動だろう混乱を持っていないので
各項目をラップするために使用されるデフォルトの項目は、私はあなたがこれを上書きしたいと思いますなぜわからないContentPresenter
です。
あなたはBorder
オブジェクト
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Blue" BorderThickness="2">
<TextBlock Text="{Binding }" />
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
で各項目を包むかItemContainerStyle
を設定したい場合は、ContentPresenter
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Column" Value="{Binding ColumnIndex}" />
<Setter Property="Grid.Row" Value="{Binding RowIndex}" />
</Style>
</ItemsControl.ItemContainerStyle>
+1 ItemsContainerSyleのborderの構文は何ですか? – Paparazzi
@Blam 'ContentPresenter'には、境界要素を持たない視覚的な外観はまったくありません。コンテンツを保持するためのコンテナオブジェクトです。各項目に 'Border'を付ける場合は、' ItemTemplate'にあるような 'Border'オブジェクトに項目をラップする必要があります。デフォルトのコンテンツは、オブジェクトにバインドされたTextBlockですが、他のもので上書きすることはかなり一般的です。 – Rachel
これは私が求めていたものではありません..Itは、itemscontrolをdatabindするたびに、リスト内の各項目の要素を生成します。私はテンプレートを含むために境界線を追加するだけでなく、包含要素を置き換えたいと思っていました。 –
- 1. ItemsControlで選択された項目を取得する
- 2. Androidデータバインディング生成するレイアウトXMLファイルの設定方法*バインディングクラス
- 3. ドロップダウンで選択した項目を設定する方法PHP
- 4. 動的に生成されたツールストリップメニュー項目を処理する方法
- 5. navigationDrawerで項目タイトルの色を設定する方法は?
- 6. WP7でリストボックスの選択項目を設定する方法は?
- 7. WP7 ListPicker - DataSourceから生成されたモデルで選択された項目にマークを付ける方法は?
- 8. ModelViewでComboBox選択項目を設定する方法は?
- 9. PropertyChangeのItemsControlで派生ObservableCollectionのレンダリング項目の並べ替え
- 10. Winforms:CheckedListBoxのチェックボックス項目をデータバインディングにバインドする方法
- 11. 選択した項目を設定する方法
- 12. リストビューで項目の動的データを生成する方法
- 13. 仮想化:ネストされたItemsControlから生成されたコンテナをリサイクルする方法はありますか?
- 14. CListCtrlの項目を選択して設定する方法は?
- 15. フラグメントツールバーのメニュー項目を設定する方法は?
- 16. PHPで定期金額項目を作成する方法は?
- 17. ObjectListViewで選択した項目の「背景色」を設定する方法は?
- 18. netbeansのJcomboboxで項目を設定する方法
- 19. Formview:更新されていない項目のパラメータを設定する方法
- 20. Bitbucketのネストされたリスト項目をマークダウンする方法は?
- 21. リアストラップドロップダウンで選択した項目を設定するには? reactstrapドロップダウンで選択した項目を設定する方法
- 22. itemscontrol内の項目のデータテンプレートの検証
- 23. ItemsControlの項目の妥当性チェック
- 24. C#WPFのItemsControlの項目移動アニメーション
- 25. WPF - ItemsControlの項目を含むパネルにテキストボックスを追加する方法
- 26. AWS CLI - 返されたDynamoDB項目をフィルタリングする方法は?
- 27. @ Html.DropDownListFor - 選択した項目の色を設定する方法は?
- 28. リストビュー/コンボボックスでデフォルトの選択した項目を設定する方法uwp
- 29. FireMonkey TTreeViewで選択した項目のテキスト設定を変更する方法
- 30. CommandParameterをXamarin.FormsのListView項目自体に設定する方法
[のItemsControlに任意の特定のスタイルを適用したい場合は、
ItemTemplate
を設定することができます.ItemContainerStyle](http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemcontainerstyle.aspx) –