ItemContainerStyle
1段目の項目だけ変更したい。より深いレベルでは、デフォルトのスタイルのままにします。可能ですか?
質問する
1287 次
2 に答える
2
はい、StyleSelector
決定した基準に基づいて異なるスタイルを選択できるカスタムを作成します. あなたの場合、どちらItemsControl
がコンテナを所有しているかを確認する必要があります( a のようにTreeView
、それぞれTreeViewItem
が でありItemsControl
、その子を所有しています)。
public class TreeViewFirstItemStyleSelector : StyleSelector
{
public override Style SelectStyle(object item, DependencyObject container)
{
var element = container as TreeViewItem;
if (element != null && ItemsControl.GetItemsOwner(element) is TreeView)
return element.FindResource("customStyle") as Style;
return null;
}
}
次に、TreeView の ItemContainerStyleSelector プロパティに設定します。
于 2013-01-09T17:57:01.203 に答える
1
Style
Trigger
最初の要素である場合は、s とテスト項目を使用する必要があります。このコードは単なるアイデアです:
<Style.Triggers>
<Trigger Property="IsFirst" Value="True">
<Setter Property="Color" Value="Red" />
</Trigger>
于 2013-01-09T17:52:18.313 に答える