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

  • Nickcidious

    Nickcidious

    6 HAZİRAN 2011
  • Nightmare2005

    Nightmare200

    14 Ocak 2007
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006