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

  • Attempts at least

    Attempts at

    1 Ocak 2007
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009
  • Music EuroDance 2

    Music EuroDa

    12 Mayıs 2011