2016-12-26 6 views
1

カードのスタックを作成しようとしています。私が正しい順序で欲しいカードを追加することはできますが、私はそれの前にカードの中で最も重なり合ったカードを重ねてその上に置いておきたいと思います。リストビューのアイテムが重複するwpf C#

そして、最初のものまですべて同じ方法で、明らかに含まれていません。

カードのスタックを考えてみましょう。 今の私のXAMLは:

<ListView Width="Auto" Height="Auto" Background="{x:Null}" 
      ItemsSource="{Binding Cards}"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <local:CardView DataContext="{Binding}"/> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

答えて

1

あなたは、負のマージンをかなり簡単にそれを行うことができます。

public Thickness Margin { get; set; } 

、ビューでそれをバインドします:

<ListView.ItemTemplate> 
    <DataTemplate> 
     <local:CardView DataContext="{Binding}" Margin="{Binding Margin}" /> 
    </DataTemplate> 
</ListView.ItemTemplate> 

、あなたのニーズに依存して、それを埋める方法の一つの方法は、あなたのCardタイプにMarginプロパティを追加することです。簡単な方法が1つあります:

foreach (var model in Cards.Skip(1)) 
    model.Margin = new Thickness(0, -100, 0, 0); 
+0

ありがとうございます。私は指数を理解できませんでしたが、それは何のためでしたか? – tjw

+0

@tjw、ああ、それは私の間違いだった。あなたはそこにそれを必要としません。 – icebat

関連する問題