SORU
12 AĞUSTOS 2009, ÇARŞAMBA


ItemsControl bir DataTemplate Tuval özelliklerini ayarlama

ItemsControl Bu databind çalışıyorum:

<ItemsControl ItemsSource="{Binding Path=Nodes, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

Bu kullanarak DataTemplate ayrı ayrı Canvas Node benim unsurları doğru pozisyon için çalışıyorum:

<DataTemplate DataType="{x:Type Model:EndNode}">
    <Controls:EndNodeControl Canvas.Left="{Binding Path=XPos}" Canvas.Top="{Binding Path=YPos}" />
</DataTemplate>

Ancak, beklendiği gibi çalışmıyor. Tüm düğüm elemanları aynı pozisyonda üst üste çizilir. Bunu gerçekleştirmek için nasıl herhangi bir öneriniz?

CEVAP
12 AĞUSTOS 2009, ÇARŞAMBA


Eklenen özellikler sadece Tuval doğrudan çocuk üzerinde çalışmak. Itemscontrol doğrudan çocuklar gibi ContentPresenter kontrol edecek, bunun için bir stil eklemek isteyebilirsiniz:

<ItemsControl ItemsSource="{Binding Path=Nodes}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemContainerStyle>
        <Style TargetType="ContentPresenter">
            <Setter Property="Canvas.Left" Value="{Binding Path=XPos}" />
            <Setter Property="Canvas.Top" Value="{Binding Path=YPos}" />
        </Style>
    </ItemsControl.ItemContainerStyle>
</ItemsControl>

Bu yardımcı olur umarım

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • SlimaksClass

    SlimaksClass

    15 Kasım 2010
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012