這是從MSDN library article採取的ItemsControl.ItemTemplate屬性XAML代碼示例:這個MSDN示例代碼是做什麼的? - ItemsControl.ItemTemplate
<ListBox Width="400" Margin="10" ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我在尋找的<StackPanel>
元素的使用情況的解釋是這樣的例子。
- >
該面板將在ListBox中存在的位置在哪裏?
它在ItemTemplate中的用途是什麼?
任何System.Windows.Controls.Panel都可以用在它的位置,特別是一個Grid?
我將如何使用<Grid>
元素作爲ListBox中每個項目的模板?
這裏是我會爲理念:
http://img151.imageshack.us/img151/7960/graphconcept.png
我已提請使用<Path>
元素的圖形,並沒有問題存在。
我正在研究軸的標籤,我正在試用ItemTemplate中的<Grid>
元素 - 但我不知道網格應該如何在此上下文中運行,並且MSDN沒有提到任何內容他們的示例代碼中的面板。
我對Y軸標籤XAML目前看起來是這樣的:
<ListBox Background="Transparent" BorderThickness="0" ItemsSource="{Binding Path=GraphLabelYData}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="{Binding Path=GraphLabelSpacing}" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="{Binding ElementName=GraphLabelYData, Path=GraphLabelMarkerLength}" />
</Grid.ColumnDefinitions>
<TextBlock HorizontalAlignment="Right" VerticalAlignment="Bottom" Text="{Binding Path=GraphLabelTag}" />
<Rectangle Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Stroke="Black" Fill="Black" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
這是否看起來是正確的?在運行時什麼也沒有顯示出來,但我想在開始調試數據綁定和代碼隱藏之前確保XAML的建模正確。
這就是我喜歡XAML/WPF的原因之一 - 如果你想要,你可以在控件中做一些*真的*瘋狂的東西...... – 2009-06-22 21:57:26
這裏有太多的問題 - 我不知道從哪裏開始... – 2009-06-22 22:06:31