WPF C#でtreeviewitemのレベルを取得するにはどうすればよいですか?Windowsフォームには、treeviewクラスの.Levelメンバーがありますが、WPF C#のメンバーはないようです。
4825 次
2 に答える
3
ビューモデルを作成します。
ビューモデルは、ツリービューがない場合よりもツリービューの方が柔軟性が高くなります。親ノードが表示されていない場合は、仮想化されてレベル(または深度)の数値が間違っている可能性があります。データをラップし、データがどのレベルにあるかを知るビューモデルを構築します。
ここに投稿された回答を確認してください。
リンク1に回答します(ビューモデルに別のプロパティを追加します-レベル)
于 2010-07-05T23:57:40.000 に答える
1
コンバーターでやりたかったのでコンバーターでやりました<style>
<DataTrigger Binding="{Binding Parent, RelativeSource={RelativeSource Self}, Converter={StaticResource TreeViewItemConverter}}" Value="1">
<Setter TargetName="Bd" Property="Background" Value="Yellow"/>
</DataTrigger>
そしてコンバーター
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((value as TreeView) != null)//level 1
return 0;
var item = (value as TreeViewItem);
if (item != null) // level 2 and 3
return (item.Parent as TreeViewItem)!=null ? 2 : 1;
return 0;
}
これは、ツリービューでのマルチレベルのスタイリングに特に役立ちます
于 2013-02-08T10:07:22.573 に答える